curl --request POST \ --url https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "transcript": "Doctor: What brings you in today?\nPatient: I've had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n", "template_id": "clinical_notes_template"}EOF
import requests
url = "https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template"
payload = {
"transcript": "Doctor: What brings you in today?
Patient: I've had a dry cough and mild fever for the last three days.
Doctor: Any breathlessness or chest pain?
Patient: No, just the cough and I feel tired.
",
"template_id": "clinical_notes_template"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transcript: 'Doctor: What brings you in today?\nPatient: I\'ve had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n',
template_id: 'clinical_notes_template'
})
};
fetch('https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
HttpResponse<String> response = Unirest.post("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}")
.asString();
using RestSharp;
var options = new RestClientOptions("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}"
response = http.request(request)
puts response.read_body
{
"error": {
"code": "invalid_audio_format",
"message": "Audio format 'audio/mp3' is not supported",
"details": {}
}
}
{
"error": {
"code": "invalid_audio_format",
"message": "Audio format 'audio/mp3' is not supported",
"details": {}
}
}
Sessions
Upload Transcript
Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result.
The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=<document_id>) or Get Document once its status is success.
You may also omit template_id and send target_language instead to translate the transcript (or the session’s stored transcript) into another language.
POST
/
voice
/
api
/
v1
/
transaction
/
{session_id}
/
convert-to-template
Upload Transcript
curl --request POST \ --url https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "transcript": "Doctor: What brings you in today?\nPatient: I've had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n", "template_id": "clinical_notes_template"}EOF
import requests
url = "https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template"
payload = {
"transcript": "Doctor: What brings you in today?
Patient: I've had a dry cough and mild fever for the last three days.
Doctor: Any breathlessness or chest pain?
Patient: No, just the cough and I feel tired.
",
"template_id": "clinical_notes_template"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transcript: 'Doctor: What brings you in today?\nPatient: I\'ve had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n',
template_id: 'clinical_notes_template'
})
};
fetch('https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
HttpResponse<String> response = Unirest.post("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}")
.asString();
using RestSharp;
var options = new RestClientOptions("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transcript\": \"Doctor: What brings you in today?\\nPatient: I've had a dry cough and mild fever for the last three days.\\nDoctor: Any breathlessness or chest pain?\\nPatient: No, just the cough and I feel tired.\\n\",\n \"template_id\": \"clinical_notes_template\"\n}"
response = http.request(request)
puts response.read_body
{
"error": {
"code": "invalid_audio_format",
"message": "Audio format 'audio/mp3' is not supported",
"details": {}
}
}
{
"error": {
"code": "invalid_audio_format",
"message": "Audio format 'audio/mp3' is not supported",
"details": {}
}
}
This API is optional. Use it only when you already have the transcript and don’t need EkaScribe to transcribe audio for you. Instead of uploading audio, you post the transcript text plus the template_id you want it structured into, and EkaScribe returns the structured note.The flow is three calls — no audio upload, no End Session:
1. Create Session POST /voice/v1/sessions → session_id2. Upload Transcript POST /voice/api/v1/transaction/{session_id}/convert-to-template { "transcript": "...", "template_id": "..." } → 202, document_id3. Get Session GET /voice/v1/sessions/{session_id} (poll ~1s until ≠202) → structured note for that template
curl -X POST "https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "transcript": "Doctor: What brings you in today?\nPatient: I have had a dry cough and mild fever for three days.", "template_id": "clinical_notes_template" }'
The call is asynchronous — it returns 202 with a document_id. Poll Get Session (optionally ?document_id=<id>) or Get Document until the document’s status is success.
If you omit template_id, the template requested in Create Session (templates) is used. To structure the same transcript into more templates later, call Process Template — each one creates its own document.
Sending target_language instead of template_id translates the transcript into that language (eng, hi, ta, te, bn, mr, gu, kn, ml, pa, as) rather than structuring it into a template.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Eka Developer Platform APIs","colors":{"primary":"#5B45C9","light":"#B6A8FF","dark":"#5B45C9"},"logo":{"light":"https://cdn.eka.care/vagus/clzwrv3o600260ti3bg9q1det.png","dark":"https://cdn.eka.care/vagus/clzws1tfc00270ti3eiwn5jo5.png"},"favicon":"https://mintcdn.com/ekacare/uZX0UtACdJOcX7uJ/favicon.svg?fit=max\u0026auto=format\u0026n=uZX0UtACdJOcX7uJ\u0026q=85\u0026s=9ecadef0a25715531f08b66c68c31915","api":{"examples":{"languages":["bash","python","typescript","java","csharp","ruby"]}},"background":{"color":{"light":"#FAFAF9","dark":"#0A0A0A"}},"navbar":{"links":[{"icon":"hammer","href":"/developer-tools","label":"Developer tools"},{"icon":"/images/icons/github.svg","href":"https://github.com/eka-care","label":"GitHub"},{"icon":"/images/icons/huggingface.svg","href":"https://huggingface.co/ekacare","label":"Hugging Face"},{"icon":"/images/icons/discord.svg","href":"https://discord.gg/THgd5S22EK","label":"Discord"}],"primary":{"type":"button","label":"Build Now","href":"https://console.eka.care"}},"footer":{"socials":{"x":"https://x.com/ekacarehq","github":"https://github.com/eka-care","linkedin":"https://www.linkedin.com/company/ekacare","discord":"https://discord.gg/THgd5S22EK","website":"https://www.eka.care"},"links":[{"header":"Solutions","items":[{"label":"Medical Scribe","href":"/docs/scribe/overview"},{"label":"Medical Document Parsing","href":"/docs/models/medical-document-parsing"},{"label":"Clinical MCP","href":"/docs/datasets/build-with-ai/mcp-server/introduction"},{"label":"ABDM Connect","href":"/docs/hie-cm/about"}]},{"header":"Resources","items":[{"label":"Get started","href":"/docs/get-started/overview"},{"label":"Cookbook","href":"/docs/get-started/cookbook"},{"label":"Auth","href":"/docs/auth/invite-flow"},{"label":"Encryption","href":"/docs/encryption/guide"},{"label":"Eka MCP","href":"/docs/emr/build-with-ai/mcp-server/introduction"},{"label":"Developer tools","href":"/developer-tools"}]},{"header":"Newsboard","items":[{"label":"Eka Labs","href":"/docs/models/spotlight"},{"label":"Under the hood","href":"/docs/get-started/under-the-hood"},{"label":"Changelog","href":"/docs/get-started/changelog"}]},{"header":"Community","items":[{"label":"GitHub","href":"https://github.com/eka-care"},{"label":"Hugging Face","href":"https://huggingface.co/ekacare"},{"label":"Discord","href":"https://discord.gg/THgd5S22EK"},{"label":"eka.care","href":"https://www.eka.care"}]}]},"fonts":{"heading":{"family":"Newsreader","weight":420},"body":{"family":"Geist"}},"icons":{"library":"fontawesome"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ekacare","hasAudioNarration":false,"actualSubdomain":"ekacare","customDomains":["developer.eka.care"],"gitSource":{"type":"github","owner":"eka-care","repo":"eka-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1990d51ebb4ac960cc7e8","collectionId":"eb976c09-9b05-425d-b2e5-4bdac54aa027","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1990d51ebb4ac960cc7e8"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae43765968a9af9aa452fca","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"HIE-CM","count":222},{"language":"default","tag":"ABDM Connect","count":204},{"language":"default","tag":"APIs \u0026 SDKs","count":178},{"language":"default","tag":"Documentation","count":136},{"language":"default","tag":"HIE-CM API","count":95},{"language":"default","tag":"Clinical AI","count":61},{"language":"default","tag":"Medical Scribe","count":53},{"language":"default","tag":"Resources","count":48},{"language":"default","tag":"NHCX","count":39},{"language":"default","tag":"NHCX API","count":33}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--eka-accent:#98B4FC;--eka-accent-ink:#4C7EFE;--eka-lilac:#5B45C9;--eka-lilac-tint:rgba(124, 92, 255, .12);--eka-lilac-edge:rgba(124, 92, 255, .22);--eka-lilac-hover:rgba(124, 92, 255, .18);--eka-neutral-edge:#D4D4D0;--eka-accent-wash:rgba(33, 95, 255, .07);--eka-heading:color-mix(in srgb, #141413 70%, #215FFF);--eka-line:#E7E7E4;--eka-surface:#FFFFFF;--eka-dot:rgba(147, 147, 142, .156);--eka-mono:\"Geist Mono\", ui-monospace, \"SF Mono\", monospace}.dark{--eka-accent:#445C9D;--eka-accent-ink:#6B93FF;--eka-lilac:#B6A8FF;--eka-lilac-tint:rgba(160, 140, 255, .14);--eka-lilac-edge:rgba(160, 140, 255, .25);--eka-lilac-hover:rgba(160, 140, 255, .20);--eka-neutral-edge:rgba(255, 255, 255, .18);--eka-accent-wash:rgba(107, 147, 255, .07);--eka-heading:color-mix(in srgb, #EDEDEC 70%, #6B93FF);--eka-line:rgba(255, 255, 255, .08);--eka-surface:#111111;--eka-dot:rgba(255, 255, 255, .054)}#background-color::after{content:\"\";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,var(--eka-dot) .95px,transparent 1.25px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 30%,transparent 100%)}#content :is(h1, h2, h3, h4),#page-title{font-weight:420!important;font-optical-sizing:auto;color:var(--eka-heading)!important;letter-spacing:.012em!important}body{letter-spacing:.015em}#sidebar{border-right:1px solid var(--eka-line)}#content-side-layout{border-left:1px solid var(--eka-line)}#content>h2{position:relative;margin-top:3.5rem;padding-top:2.5rem}#content>h2::before{content:\"\";position:absolute;top:0;left:0;right:0;height:5px;pointer-events:none;background:linear-gradient(var(--eka-line),var(--eka-line)) 0 0/100% 1px no-repeat,linear-gradient(var(--eka-line),var(--eka-line)) 0 100%/100% 1px no-repeat}@media (min-width:1024px){#content>h2::before{left:-43px;right:-4px}}@media (min-width:1280px){#content>h2::before{right:-52px}}#content a.link:not(.eka-postman-btn){color:var(--eka-accent-ink)!important;border-bottom-color:color-mix(in srgb,var(--eka-accent-ink) 45%,transparent)!important}#content a.link:not(.eka-postman-btn):hover{border-bottom-color:var(--eka-accent-ink)!important}#topbar-cta-button a>span:first-child{background:var(--eka-lilac-tint)!important;box-shadow:inset 0 0 0 1px var(--eka-lilac-edge);border-radius:999px!important}#topbar-cta-button a :is(span, svg){color:var(--eka-lilac)!important}#topbar-cta-button a{height:32px;padding:0 14px!important;font-size:13px!important;font-weight:500;align-items:center}#topbar-cta-button a:hover>span:first-child{background:var(--eka-lilac-hover)!important;opacity:1!important}#navbar a[href^=\"https://discord.gg/\"]>span,#topbar-cta-button a>div>svg{display:none!important}#content :is(code, pre),[data-component-part=code-block-root]{font-family:var(--eka-mono);letter-spacing:normal}.callout:is([data-callout-type=\"note\"], [data-callout-type=\"info\"]){border:1px solid var(--eka-line)!important;border-left:2px solid var(--eka-accent)!important;border-radius:0 12px 12px 0!important;background:var(--eka-surface)!important}.callout:is([data-callout-type=\"note\"], [data-callout-type=\"info\"]) [data-component-part=callout-icon]{color:var(--eka-accent-ink)}#content .card{border-color:var(--eka-line)!important;transition:border-color .15s ease,transform .15s ease}#content a.card:hover,#content a:hover>.card{border-color:var(--eka-accent)!important;transform:translateY(-2px)}#content [data-component-part=card-icon]{color:var(--eka-accent-ink)!important;fill:var(--eka-accent-ink)!important}[data-component-part=step-indicator]{background:var(--eka-surface)!important;box-shadow:inset 0 0 0 1px var(--eka-accent)!important;color:var(--eka-accent-ink)!important;font-family:var(--eka-mono)}.eka-card-wrapper{border-radius:14px;transition:transform .15s ease}.eka-card-wrapper:hover{transform:translateY(-3px)}.eka-card-wrapper:hover>*{box-shadow:0 12px 28px rgba(94,106,152,.16);border-color:var(--eka-accent)}.eka-divider{border:0;border-top:1px solid var(--eka-line);margin:48px 0}.eka-tags{display:inline;margin-left:6px;white-space:normal}.eka-postman-link code,.eka-tag{white-space:nowrap;border-radius:6px}.eka-tag{display:inline-block;font-size:11px;font-weight:500;line-height:1;padding:3px 7px;margin:0 0 2px 4px;vertical-align:middle;color:#6b7280;background:rgba(107,114,128,.1)}.dark .eka-tag{color:#9ca3af;background:rgba(156,163,175,.14)}.eka-postman{border:1px solid rgba(17,24,39,.1);border-radius:14px;padding:20px 24px;margin:16px 0 24px}.eka-postman-text{font-size:15px;line-height:1.6;color:#4b5563}.eka-postman-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.eka-postman-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--eka-neutral-edge);border-radius:8px;font-size:15px;font-weight:500;color:#141413;background:0 0;text-decoration:none;transition:background .15s ease}.eka-postman-btn:hover{background:rgba(20,20,19,.04)}.eka-postman-btn-primary{color:var(--eka-lilac);background:var(--eka-lilac-tint);border-color:var(--eka-lilac-edge)}.eka-postman-btn-primary:hover{background:rgba(124,92,255,.18)}.eka-postman-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(17,24,39,.1);border-radius:10px;background:rgba(17,24,39,.03)}.eka-postman-link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px;padding:6px 8px;background:rgba(17,24,39,.05)}.eka-postman-link button{flex-shrink:0;display:inline-flex;padding:4px;font-size:13px;color:#6b7280;background:0 0;border:0;cursor:pointer}.eka-postman-link button:hover{color:var(--eka-accent-ink)}.eka-postman-note{margin-top:12px;font-size:14px;color:#6b7280}.eka-postman-error{margin:-4px 0 12px;font-size:14px;color:#b42318}.dark .eka-postman-error{color:#f97066}.dark .eka-postman{border-color:rgba(255,255,255,.12)}.dark .eka-postman-text{color:#d1d5db}.dark .eka-postman-btn{color:#ededec;border-color:var(--eka-neutral-edge)}.dark .eka-postman-btn:hover{background:rgba(255,255,255,.05)}.dark .eka-postman-btn-primary{color:var(--eka-lilac);background:var(--eka-lilac-tint);border-color:var(--eka-lilac-edge)}.dark .eka-postman-btn-primary:hover{background:rgba(160,140,255,.2)}.dark .eka-postman-link{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.dark .eka-postman-link code{color:#e5e7eb;background:rgba(255,255,255,.06)}.dark .eka-postman-link button,.dark .eka-postman-note{color:#9ca3af}[data-component-part=products-selector-content]{--ps-line:#E7E7E4;--ps-ink:#141413;--ps-ink-3:#93938E;--ps-bg:#FAFAF9;--ps-surface:#FFFFFF;background:var(--ps-surface)!important;border:1px solid var(--ps-line);border-radius:16px!important;padding:14px!important;box-shadow:0 1px 2px rgba(20,20,19,.04),0 24px 48px rgba(20,20,19,.1)!important}.dark [data-component-part=products-selector-content]{--ps-line:rgba(255, 255, 255, .08);--ps-ink:#EDEDEC;--ps-ink-3:#6B6B68;--ps-bg:#0A0A0A;--ps-surface:#111111}[data-component-part=products-selector-content]>div{--fam:#64748B}[data-component-part=products-selector-content]>div:nth-child(1){--fam:#7C5CFF}[data-component-part=products-selector-content]>div:nth-child(2){--fam:#215FFF}[data-component-part=products-selector-content]>div:nth-child(3){--fam:#E8650A}.dark [data-component-part=products-selector-content]>div{--fam:#A3B1C6}.dark [data-component-part=products-selector-content]>div:nth-child(1){--fam:#A08CFF}.dark [data-component-part=products-selector-content]>div:nth-child(2){--fam:#6B93FF}.dark [data-component-part=products-selector-content]>div:nth-child(3){--fam:#FF9248}[data-component-part=products-selector-content]>div>div:first-child{width:13rem!important}@media (max-width:960px){[data-component-part=products-selector-content]>div>div:first-child{width:100%!important}}[data-component-part=products-selector-content]>div>div:first-child>div:first-child{gap:7px;margin:4px 0 6px;padding:0 10px!important;font-family:ui-monospace,\"SF Mono\",\"Geist Mono\",monospace;font-size:.64rem!important;font-weight:400!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-ink-3)!important}[data-component-part=products-selector-content]>div>div:first-child>div:first-child::before{content:\"\";width:7px;height:7px;flex:none;border-radius:50%;background:var(--fam)}[data-component-part=products-selector-item]{grid-template-columns:30px 1fr auto!important;align-items:flex-start!important;gap:11px!important;padding:8px 10px!important;border-radius:10px!important}[data-component-part=products-selector-item]:focus-visible,[data-component-part=products-selector-item]:hover{background:color-mix(in srgb,var(--ps-ink) 4.5%,transparent)!important}.nav-dropdown-products-selector-item-icon{position:relative;width:30px;height:30px;border:1px solid var(--ps-line);border-radius:9px;background:var(--ps-bg)}.nav-dropdown-products-selector-item-icon img{opacity:0;width:15px!important;height:15px!important}.nav-dropdown-products-selector-item-icon::after{content:\"\";position:absolute;inset:0;margin:auto;width:15px;height:15px;background-color:var(--fam);mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/mic.svg\"])::after{mask-image:url(/images/icons/products/mic.svg);-webkit-mask-image:url(/images/icons/products/mic.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/plug.svg\"])::after{mask-image:url(/images/icons/products/plug.svg);-webkit-mask-image:url(/images/icons/products/plug.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/stethoscope.svg\"])::after{mask-image:url(/images/icons/products/stethoscope.svg);-webkit-mask-image:url(/images/icons/products/stethoscope.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/bot.svg\"])::after{mask-image:url(/images/icons/products/bot.svg);-webkit-mask-image:url(/images/icons/products/bot.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/brain-circuit.svg\"])::after{mask-image:url(/images/icons/products/brain-circuit.svg);-webkit-mask-image:url(/images/icons/products/brain-circuit.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/database.svg\"])::after{mask-image:url(/images/icons/products/database.svg);-webkit-mask-image:url(/images/icons/products/database.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/clipboard-list.svg\"])::after{mask-image:url(/images/icons/products/clipboard-list.svg);-webkit-mask-image:url(/images/icons/products/clipboard-list.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/bed-double.svg\"])::after{mask-image:url(/images/icons/products/bed-double.svg);-webkit-mask-image:url(/images/icons/products/bed-double.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/receipt.svg\"])::after{mask-image:url(/images/icons/products/receipt.svg);-webkit-mask-image:url(/images/icons/products/receipt.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/folder-heart.svg\"])::after{mask-image:url(/images/icons/products/folder-heart.svg);-webkit-mask-image:url(/images/icons/products/folder-heart.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/arrow-left-right.svg\"])::after{mask-image:url(/images/icons/products/arrow-left-right.svg);-webkit-mask-image:url(/images/icons/products/arrow-left-right.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/shield-check.svg\"])::after{mask-image:url(/images/icons/products/shield-check.svg);-webkit-mask-image:url(/images/icons/products/shield-check.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/network.svg\"])::after{mask-image:url(/images/icons/products/network.svg);-webkit-mask-image:url(/images/icons/products/network.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/rocket.svg\"])::after{mask-image:url(/images/icons/products/rocket.svg);-webkit-mask-image:url(/images/icons/products/rocket.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/key-round.svg\"])::after{mask-image:url(/images/icons/products/key-round.svg);-webkit-mask-image:url(/images/icons/products/key-round.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/webhook.svg\"])::after{mask-image:url(/images/icons/products/webhook.svg);-webkit-mask-image:url(/images/icons/products/webhook.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/lock.svg\"])::after{mask-image:url(/images/icons/products/lock.svg);-webkit-mask-image:url(/images/icons/products/lock.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/code.svg\"])::after{mask-image:url(/images/icons/products/code.svg);-webkit-mask-image:url(/images/icons/products/code.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/messages-square.svg\"])::after{mask-image:url(/images/icons/products/messages-square.svg);-webkit-mask-image:url(/images/icons/products/messages-square.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/compass.svg\"])::after{mask-image:url(/images/icons/products/compass.svg);-webkit-mask-image:url(/images/icons/products/compass.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/flask-conical.svg\"])::after{mask-image:url(/images/icons/products/flask-conical.svg);-webkit-mask-image:url(/images/icons/products/flask-conical.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/history.svg\"])::after{mask-image:url(/images/icons/products/history.svg);-webkit-mask-image:url(/images/icons/products/history.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/chef-hat.svg\"])::after{mask-image:url(/images/icons/products/chef-hat.svg);-webkit-mask-image:url(/images/icons/products/chef-hat.svg)}.nav-dropdown-products-selector-item-icon:has(img[src$=\"/package.svg\"])::after{mask-image:url(/images/icons/products/package.svg);-webkit-mask-image:url(/images/icons/products/package.svg)}.dark [data-component-part=products-selector-trigger]>img{filter:invert(1);opacity:.85}.nav-dropdown-products-selector-item-title{font-size:.84rem!important;font-weight:550!important;color:var(--ps-ink)!important}.nav-dropdown-products-selector-item-description{font-size:.74rem!important;line-height:1.4;margin-top:1px;color:var(--ps-ink-3)!important;white-space:normal!important;-webkit-line-clamp:2!important;line-clamp:2!important}[data-component-part=products-selector-item][data-selected=true] .nav-dropdown-products-selector-item-icon{border-color:color-mix(in srgb,var(--fam) 45%,transparent);background:color-mix(in srgb,var(--fam) 12%,var(--ps-surface))}#navigation-items .sidebar-group-header{gap:0!important;padding-left:1rem}#navigation-items .sidebar-group-header :is(svg, img){display:none!important}#navigation-items .sidebar-title{font-family:ui-monospace,\"SF Mono\",\"Geist Mono\",monospace!important;font-size:.66rem!important;font-weight:500!important;letter-spacing:.08em;text-transform:uppercase;color:#93938e!important}.dark #navigation-items .sidebar-title{color:#6b6b68!important}#navigation-items>div+div{margin-top:1.25rem!important}#navigation-items ul.sidebar-group li>ul{margin-left:1.45rem;padding-left:.5rem;border-left:1px solid #e7e7e4}.dark #navigation-items ul.sidebar-group li>ul{border-left-color:rgba(255,255,255,.08)}#navigation-items ul.sidebar-group li>ul :is(svg, img){width:14px!important;height:14px!important;opacity:.7}.eka-qs{border:1px solid #e7e7e4;border-radius:16px;background:#fff;padding:20px 24px 16px;margin:16px 0 28px;color:#1f2937;font-size:15px;line-height:1.55}.eka-qs code{font-size:13px;padding:1px 5px;border-radius:5px;background:rgba(17,24,39,.05)}.eka-qs a{color:#215fff;text-decoration:underline;text-underline-offset:2px}.eka-qs-stepper{display:flex;gap:0;list-style:none;margin:0 0 12px;padding:0 0 4px;overflow-x:auto}.eka-qs-stepper-item{display:flex;align-items:flex-start;flex:1 0 auto;margin:0;padding:0}.eka-qs-stepper-item+.eka-qs-stepper-item::before{content:\"\";flex:1 0 16px;height:1px;margin:18px 6px 0;background:#e7e7e4}.eka-qs-stepper-btn{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px;padding:0;border:0;background:0 0;color:inherit;font:inherit;cursor:pointer}.eka-qs-stepper-btn:disabled{cursor:default}.eka-qs-circle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #e7e7e4;background:#fff;color:#6b7280;font-size:14px;font-weight:600}.eka-qs-stepper-label{font-size:13px;color:#6b7280;text-align:center;white-space:nowrap}.eka-qs-current .eka-qs-circle{background:#215fff;border-color:#215fff;color:#fff}.eka-qs-current .eka-qs-stepper-label{color:#111827;font-weight:700}.eka-qs-done .eka-qs-circle{border-color:#215fff;color:#215fff}.eka-qs-status{min-height:1.5em;margin:4px 0 12px;font-size:14px;color:#4b5563}.eka-qs-status-ok{color:#067647}.eka-qs-status-error{color:#b42318}.eka-qs-status-info{color:#1d4ed8}.eka-qs-form,.eka-qs-form form{display:flex;flex-direction:column;gap:14px}.eka-qs-title{margin:0;font-size:17px;font-weight:600;color:#111827}.eka-qs-lede{margin:-6px 0 0;color:#4b5563}.eka-qs-field{display:flex;flex-direction:column;gap:6px}.eka-qs-label{font-size:14px;font-weight:500;color:#111827}.eka-qs-pill{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle;color:#b54708;background:#fef0c7}.eka-qs-input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#111827;font:inherit}.eka-qs-input:focus{outline:2px solid rgba(33,95,255,.35);outline-offset:1px;border-color:#215fff}.eka-qs-secret{display:flex;gap:8px}.eka-qs-secret .eka-qs-input{flex:1;min-width:0}.eka-qs-reveal{flex-shrink:0;padding:0 14px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#374151;font-size:13px;cursor:pointer}.eka-qs-hint{margin:0;font-size:13px;color:#6b7280}.eka-qs-btn{align-self:flex-start;padding:9px 18px;border:1px solid #215fff;border-radius:10px;background:#215fff;color:#fff;font:inherit;font-weight:600;cursor:pointer}.eka-qs-btn:hover:not(:disabled){background:#1a4fd6}.eka-qs-btn:disabled{opacity:.5;cursor:not-allowed}.eka-qs-btn-quiet{background:#fff;color:#215fff}.eka-qs-btn-quiet:hover:not(:disabled){background:rgba(33,95,255,.06)}.eka-qs-chips{display:flex;flex-wrap:wrap;gap:8px}.eka-qs-chip{padding:5px 12px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#111827;font-size:14px;cursor:pointer}.eka-qs-chip-on{border-color:#215fff;color:#215fff;background:rgba(33,95,255,.06)}.eka-qs-callout,.eka-qs-result{padding:12px 16px;border:1px solid #e7e7e4;border-radius:12px;background:#f9fafb}.eka-qs-callout p,.eka-qs-result p{margin:0 0 8px}.eka-qs-callout p:last-child,.eka-qs-result p:last-child{margin-bottom:0}.eka-qs-callout ul{margin:0 0 8px;padding-left:20px}.eka-qs-result dl{display:grid;gap:6px;margin:0 0 12px}.eka-qs-result dl div{display:flex;flex-wrap:wrap;gap:4px 12px}.eka-qs-result dt{min-width:110px;font-weight:600;color:#374151}.eka-qs-result dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.eka-qs-log{display:flex;flex-direction:column;gap:12px}.eka-qs-exchange{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.eka-qs-panel{min-width:0}.eka-qs-panel-label{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.eka-qs-pre{margin:0;max-height:320px;overflow:auto;padding:10px 12px;border:1px solid #e7e7e4;border-radius:10px;background:#f9fafb;color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.eka-qs-code{padding:1px 7px;border-radius:999px;font-size:11px;letter-spacing:0}.eka-qs-code-ok{color:#067647;background:#dcfae6}.eka-qs-code-bad{color:#b42318;background:#fee4e2}.eka-qs-note{margin:6px 0 0;font-size:13px;color:#6b7280}.eka-qs-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;padding-top:12px;border-top:1px solid #e7e7e4}.eka-qs-sandbox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#6b7280}@media (max-width:640px){.eka-qs{padding:16px}.eka-qs-exchange{grid-template-columns:minmax(0,1fr)}.eka-qs-stepper-btn{min-width:64px}}.dark .eka-qs{background:#0f1117;border-color:rgba(255,255,255,.12);color:#e5e7eb}.dark .eka-qs code{background:rgba(255,255,255,.08)}.dark .eka-qs a{color:#7da2ff}.dark .eka-qs-stepper-item+.eka-qs-stepper-item::before{background:rgba(255,255,255,.12)}.dark .eka-qs-circle{background:#0f1117;border-color:rgba(255,255,255,.18);color:#9ca3af}.dark .eka-qs-hint,.dark .eka-qs-note,.dark .eka-qs-panel-label,.dark .eka-qs-sandbox,.dark .eka-qs-stepper-label{color:#9ca3af}.dark .eka-qs-current .eka-qs-circle{background:#215fff;border-color:#215fff;color:#fff}.dark .eka-qs-current .eka-qs-stepper-label,.dark .eka-qs-label,.dark .eka-qs-title{color:#f9fafb}.dark .eka-qs-done .eka-qs-circle{border-color:#7da2ff;color:#7da2ff}.dark .eka-qs-lede,.dark .eka-qs-result dt,.dark .eka-qs-status{color:#d1d5db}.dark .eka-qs-status-ok{color:#75e0a7}.dark .eka-qs-status-error{color:#f97066}.dark .eka-qs-status-info{color:#93b4ff}.dark .eka-qs-pill{color:#fec84b;background:rgba(254,200,75,.14)}.dark .eka-qs-chip,.dark .eka-qs-input,.dark .eka-qs-reveal{background:#161922;border-color:rgba(255,255,255,.16);color:#f3f4f6}.dark .eka-qs-btn-quiet{background:0 0;color:#7da2ff;border-color:#7da2ff}.dark .eka-qs-chip-on{border-color:#7da2ff;color:#7da2ff;background:rgba(125,162,255,.1)}.dark .eka-qs-callout,.dark .eka-qs-pre,.dark .eka-qs-result{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#e5e7eb}.dark .eka-qs-code-ok{color:#75e0a7;background:rgba(117,224,167,.12)}.dark .eka-qs-code-bad{color:#f97066;background:rgba(249,112,102,.12)}.dark .eka-qs-footer{border-top-color:rgba(255,255,255,.12)}#navbar a[href^=\"https://discord.gg/\"]>svg{width:18px;height:18px}#navbar a[href=\"/developer-tools\"]>span,#navbar a[href=\"https://discord.gg/THgd5S22EK\"]>span,#navbar a[href=\"https://github.com/eka-care\"]>span,#navbar a[href=\"https://huggingface.co/ekacare\"]>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#navbar a[href=\"/developer-tools\"],#navbar a[href=\"https://discord.gg/THgd5S22EK\"],#navbar a[href=\"https://github.com/eka-care\"],#navbar a[href=\"https://huggingface.co/ekacare\"]{padding:6px;border-radius:8px}#navbar a[href=\"https://discord.gg/THgd5S22EK\"] img,#navbar a[href=\"https://github.com/eka-care\"] img,#navbar a[href=\"https://huggingface.co/ekacare\"] img{opacity:.8}.dark #navbar a[href=\"https://discord.gg/THgd5S22EK\"] img,.dark #navbar a[href=\"https://github.com/eka-care\"] img,.dark #navbar a[href=\"https://huggingface.co/ekacare\"] img{filter:invert(1)}#footer{background:color-mix(in srgb,#7c5cff 7%,transparent)}.eka-footmark{width:100%;max-width:1080px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:18px 32px 28px;border-top:1px solid rgba(124,92,255,.22);font-size:.8rem;color:rgb(var(--gray-500))}.eka-footmark b{font-weight:500;color:rgb(var(--gray-900))}.dark .eka-footmark b{color:rgb(var(--gray-100))}.eka-footmark span{display:inline-flex;align-items:center;gap:8px}.eka-heart{display:inline-flex;transition:transform .2s}.eka-heart:hover{transform:scale(1.15)}html[data-current-path=\"/\"]:not(:has(.eka-landing)) body>*{visibility:hidden}html[data-current-path=\"/\"]:not(:has(.eka-landing)) body{background:#fafaf9}html.dark[data-current-path=\"/\"]:not(:has(.eka-landing)) body{background:#0a0a0a}"}],"page":{"pagePath":"api-sdk/scribe/sessions/upload-transcript","slug":"/api-sdk/scribe/sessions/upload-transcript","pageMetadata":{"title":"Upload Transcript","openapi":"POST /voice/api/v1/transaction/{session_id}/convert-to-template","description":"**Optional.** Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the `template_id` you want it structured into, then poll Get Session for the structured result.\n\nThe call is asynchronous: it returns `202` with a `document_id` and `status: in-progress`. Fetch the structured note with `GET /voice/v1/sessions/{session_id}` (optionally `?document_id=\u003cdocument_id>`) or Get Document once its status is `success`.\n\nYou may also omit `template_id` and send `target_language` instead to translate the transcript (or the session's stored transcript) into another language.\n","href":"/api-sdk/scribe/sessions/upload-transcript"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Optional.\"\n }), \" Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the \", _jsx(_components.code, {\n children: \"template_id\"\n }), \" you want it structured into, then poll Get Session for the structured result.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The call is asynchronous: it returns \", _jsx(_components.code, {\n children: \"202\"\n }), \" with a \", _jsx(_components.code, {\n children: \"document_id\"\n }), \" and \", _jsx(_components.code, {\n children: \"status: in-progress\"\n }), \". Fetch the structured note with \", _jsx(_components.code, {\n children: \"GET /voice/v1/sessions/{session_id}\"\n }), \" (optionally \", _jsx(_components.code, {\n children: \"?document_id=\u003cdocument_id>\"\n }), \") or Get Document once its status is \", _jsx(_components.code, {\n children: \"success\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"You may also omit \", _jsx(_components.code, {\n children: \"template_id\"\n }), \" and send \", _jsx(_components.code, {\n children: \"target_language\"\n }), \" instead to translate the transcript (or the session’s stored transcript) into another language.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Info,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This API is optional.`}),` Use it only when you already have the transcript and don’t need EkaScribe to transcribe audio for you. Instead of uploading audio, you post the transcript text plus the `,_jsx(_components.code,{children:`template_id`}),` you want it structured into, and EkaScribe returns the structured note.`]}),`\n`,_jsxs(_components.p,{children:[`The flow is three calls — no audio upload, no `,_jsx(_components.a,{href:`/api-sdk/scribe/sessions/end-session`,children:`End Session`}),`:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`1. Create Session POST /voice/v1/sessions → session_id`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`2. Upload Transcript POST /voice/api/v1/transaction/{session_id}/convert-to-template`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` { \"transcript\": \"...\", \"template_id\": \"...\" } → 202, document_id`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`3. Get Session GET /voice/v1/sessions/{session_id} (poll ~1s until ≠202)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` → structured note for that template`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.eka.care/voice/api/v1/transaction/{session_id}/convert-to-template\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_ACCESS_TOKEN\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"transcript\": \"Doctor: What brings you in today?\\\\nPatient: I have had a dry cough and mild fever for three days.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"template_id\": \"clinical_notes_template\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`The call is asynchronous — it returns `,_jsx(_components.code,{children:`202`}),` with a `,_jsx(_components.code,{children:`document_id`}),`. Poll `,_jsx(_components.a,{href:`/api-sdk/scribe/sessions/get-session`,children:`Get Session`}),` (optionally `,_jsx(_components.code,{children:`?document_id=\u003cid>`}),`) or `,_jsx(_components.a,{href:`/api-sdk/scribe/documents/get-document`,children:`Get Document`}),` until the document’s status is `,_jsx(_components.code,{children:`success`}),`.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you omit `,_jsx(_components.code,{children:`template_id`}),`, the template requested in `,_jsx(_components.a,{href:`/api-sdk/scribe/sessions/create-session`,children:`Create Session`}),` (`,_jsx(_components.code,{children:`templates`}),`) is used. To structure the same transcript into more templates later, call `,_jsx(_components.a,{href:`/api-sdk/scribe/sessions/process-template`,children:`Process Template`}),` — each one creates its own document.`]})}),`\n`,_jsxs(_components.p,{children:[`Sending `,_jsx(_components.code,{children:`target_language`}),` instead of `,_jsx(_components.code,{children:`template_id`}),` translates the transcript into that language (`,_jsx(_components.code,{children:`eng`}),`, `,_jsx(_components.code,{children:`hi`}),`, `,_jsx(_components.code,{children:`ta`}),`, `,_jsx(_components.code,{children:`te`}),`, `,_jsx(_components.code,{children:`bn`}),`, `,_jsx(_components.code,{children:`mr`}),`, `,_jsx(_components.code,{children:`gu`}),`, `,_jsx(_components.code,{children:`kn`}),`, `,_jsx(_components.code,{children:`ml`}),`, `,_jsx(_components.code,{children:`pa`}),`, `,_jsx(_components.code,{children:`as`}),`) rather than structuring it into a template.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Upload Transcript","openapi":"POST /voice/api/v1/transaction/{session_id}/convert-to-template","description":"**Optional.** Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the `template_id` you want it structured into, then poll Get Session for the structured result.\n\nThe call is asynchronous: it returns `202` with a `document_id` and `status: in-progress`. Fetch the structured note with `GET /voice/v1/sessions/{session_id}` (optionally `?document_id=\u003cdocument_id>`) or Get Document once its status is `success`.\n\nYou may also omit `template_id` and send `target_language` instead to translate the transcript (or the session's stored transcript) into another language.\n","href":"/api-sdk/scribe/sessions/upload-transcript"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/ekacare/274025ccf21300f6/api-reference-link.js","/_mintlify/custom/ekacare/55ac9669f3bf776b/ask-ai.js","/_mintlify/custom/ekacare/42ebe35a74070514/console-links.js","/_mintlify/custom/ekacare/5e6903411e400df6/footer-mark.js","/_mintlify/custom/ekacare/5f178d6c6749d135/sidebar-memory.js"],"openApiReferenceData":{"operation":{"summary":"Upload Transcript","description":"**Optional.** Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the `template_id` you want it structured into, then poll Get Session for the structured result.\n\nThe call is asynchronous: it returns `202` with a `document_id` and `status: in-progress`. Fetch the structured note with `GET /voice/v1/sessions/{session_id}` (optionally `?document_id=\u003cdocument_id>`) or Get Document once its status is `success`.\n\nYou may also omit `template_id` and send `target_language` instead to translate the transcript (or the session's stored transcript) into another language.\n","tags":["sessions"],"security":["8bdd3fcd-c240-4246-8fab-14317b34b63c"],"parameters":["456081d3-fd3c-4eb8-aa00-d6e8a0b75394"],"requestBody":"71e626fd-25d7-4e89-87f1-ac5f7eea3dde","responses":{"202":"54f9d5cf-9b32-4d97-832c-d936b52852b2","400":"9f8dbad7-b400-43e8-8d3c-b7f424778555","404":"2198826a-d685-4f77-8b0d-5bc62475cbf7"},"method":"post","type":"path","servers":["893b1833-37bf-4c4a-ad41-820a566c67e7","a277beb3-d841-4b16-b511-e2c518c1bfbb"],"path":"/voice/api/v1/transaction/{session_id}/convert-to-template","baseUrlOptions":["https://api.eka.care","https://api.dev.eka.care"],"title":"Upload Transcript","codeSamples":[],"requestExampleLanguages":["bash","python","typescript","java","csharp","ruby"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"456081d3-fd3c-4eb8-aa00-d6e8a0b75394":{"name":"session_id","in":"path","required":true,"description":"Session ID returned by Create Session","schema":{"type":"string","example":"ses_abc123def456","isRequired":true,"description":"Session ID returned by Create Session","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Send at least one of `transcript` or `target_language`. If both are omitted the request is rejected with `400`.\n","properties":{"transcript":{"type":"string","description":"The plain-text transcript of the consultation. This replaces EkaScribe's own transcription — no audio upload is needed for the session.\n","example":"Doctor: What brings you in today?\nPatient: I've had a dry cough and mild fever for the last three days.\n","uniqueKey":"transcript","typeLabel":"string"},"template_id":{"type":"string","description":"Template to structure the transcript into (from List Templates). If omitted, the template requested in Create Session (`templates`) is used.\n","example":"clinical_notes_template","uniqueKey":"template_id","typeLabel":"string"},"target_language":{"type":"string","description":"Translate the transcript into this language instead of structuring it into a template. One of `eng`, `hi`, `ta`, `te`, `bn`, `mr`, `gu`, `kn`, `ml`, `pa`, `as`.\n","example":"hi","uniqueKey":"target_language","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"transcript":"Doctor: What brings you in today?\nPatient: I've had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n","template_id":"clinical_notes_template"},"examples":{"Example":{"title":"Example","value":{"transcript":"Doctor: What brings you in today?\nPatient: I've had a dry cough and mild fever for the last three days.\nDoctor: Any breathlessness or chest pain?\nPatient: No, just the cough and I feel tired.\n","template_id":"clinical_notes_template"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"54f9d5cf-9b32-4d97-832c-d936b52852b2":{"description":"Transcript accepted, template generation started","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"in-progress","uniqueKey":"status","typeLabel":"string"},"message":{"type":"string","example":"Template generation started in background","uniqueKey":"message","typeLabel":"string"},"txn_id":{"type":"string","description":"The session ID the transcript was uploaded to.","example":"ses_abc123def456","uniqueKey":"txn_id","typeLabel":"string"},"b_id":{"type":"string","description":"Business ID resolved from your access token.","example":"123456","uniqueKey":"b_id","typeLabel":"string"},"template_id":{"type":"string","example":"clinical_notes_template","uniqueKey":"template_id","typeLabel":"string"},"document_id":{"type":"string","description":"ID of the document being generated. Poll Get Session or Get Document until its status is `success`.","example":"doc_9f8e7d6c","uniqueKey":"document_id","typeLabel":"string"},"templates":{"type":"array","description":"Documents created for this request.","items":{"type":"object","properties":{"template_id":{"type":"string","uniqueKey":"templates.items.[INDEX].template_id","typeLabel":"string"},"document_id":{"type":"string","uniqueKey":"templates.items.[INDEX].document_id","typeLabel":"string"}},"uniqueKey":"templates.items.[INDEX]","typeLabel":"object"},"uniqueKey":"templates","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":"in-progress","message":"Template generation started in background","txn_id":"ses_abc123def456","b_id":"123456","template_id":"clinical_notes_template","document_id":"doc_9f8e7d6c","templates":[{"template_id":"clinical_notes_template","document_id":"doc_9f8e7d6c"}]},"examples":{"Example":{"title":"Example","value":{"status":"in-progress","message":"Template generation started in background","txn_id":"ses_abc123def456","b_id":"123456","template_id":"clinical_notes_template","document_id":"doc_9f8e7d6c","templates":[{"template_id":"clinical_notes_template","document_id":"doc_9f8e7d6c"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"9f8dbad7-b400-43e8-8d3c-b7f424778555":{"description":"Neither `transcript` nor `target_language` was provided","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"invalid_audio_format","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","example":"Audio format 'audio/mp3' is not supported","uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context.","uniqueKey":"error.details","typeLabel":"object"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_audio_format","message":"Audio format 'audio/mp3' is not supported","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"2198826a-d685-4f77-8b0d-5bc62475cbf7":{"description":"Session not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"invalid_audio_format","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","example":"Audio format 'audio/mp3' is not supported","uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context.","uniqueKey":"error.details","typeLabel":"object"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_audio_format","message":"Audio format 'audio/mp3' is not supported","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8bdd3fcd-c240-4246-8fab-14317b34b63c":{"auth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","scopes":[]}}},"servers":{"893b1833-37bf-4c4a-ad41-820a566c67e7":{"url":"https://api.eka.care","description":"Production server"},"a277beb3-d841-4b16-b511-e2c518c1bfbb":{"url":"https://api.dev.eka.care","description":"Development server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"auth","name":"Authorization"}],"title":"auth"}]},"originalFileLocation":"ekascribe/api-reference/openapi.yaml"},"subdomain":"ekacare","siteName":"Eka Developer Platform APIs","title":"Upload Transcript - Eka Developer Platform APIs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T06:21:54.854Z","originalFileLocation":"api-sdk/scribe/sessions/upload-transcript.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result. The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=) or Get Document once its status is success. You may also omit template_id and send target_language instead to translate the transcript (or the session\u0026#x27;s stored transcript) into another language.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Eka Developer Platform APIs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upload Transcript - Eka Developer Platform APIs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result. The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=) or Get Document once its status is success. You may also omit template_id and send target_language instead to translate the transcript (or the session\u0026#x27;s stored transcript) into another language.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Eka Developer Platform APIs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ekacare.mintlify.app/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Upload+Transcript\u0026amp;description=**Optional.**+Use+this+only+if+you+already+have+the+transcript+and+do+not+want+EkaScribe+to+transcribe+audio+for+you.+Instead+of+uploading+audio+files%2C+create+a\u0026amp;theme=c05a8484a1a9b0e4a75a464b\u0026amp;signature=c49dd0096ada810e475fed72cb77e5ad6f51d6b6c03cd66df75225966eca0375\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Upload Transcript - Eka Developer Platform APIs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result. The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=) or Get Document once its status is success. You may also omit template_id and send target_language instead to translate the transcript (or the session\u0026#x27;s stored transcript) into another language.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ekacare.mintlify.app/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Upload+Transcript\u0026amp;description=**Optional.**+Use+this+only+if+you+already+have+the+transcript+and+do+not+want+EkaScribe+to+transcribe+audio+for+you.+Instead+of+uploading+audio+files%2C+create+a\u0026amp;theme=c05a8484a1a9b0e4a75a464b\u0026amp;signature=c49dd0096ada810e475fed72cb77e5ad6f51d6b6c03cd66df75225966eca0375\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ekacare/I5vwrJDJkiTYS8E3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Eka Developer Platform APIs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5B45C9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-sdk/scribe/sessions/upload-transcript.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.eka.care/#organization\",\"name\":\"Eka Developer Platform APIs\",\"url\":\"https://developer.eka.care\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://cdn.eka.care/vagus/clzwrv3o600260ti3bg9q1det.png\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.eka.care#website\",\"name\":\"Eka Developer Platform APIs\",\"url\":\"https://developer.eka.care\",\"publisher\":{\"@id\":\"https://developer.eka.care/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript#webpage\",\"url\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript\",\"name\":\"Upload Transcript\",\"description\":\"Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result. The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=) or Get Document once its status is success. You may also omit template_id and send target_language instead to translate the transcript (or the session's stored transcript) into another language.\",\"dateModified\":\"2026-10-30T06:21:54.854Z\",\"isPartOf\":{\"@id\":\"https://developer.eka.care#website\"},\"breadcrumb\":{\"@id\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Medical Scribe API\",\"item\":\"https://developer.eka.care/api-sdk/scribe/sessions/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sessions\",\"item\":\"https://developer.eka.care/api-sdk/scribe/sessions/create-session\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Upload Transcript\",\"item\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript#apireference\",\"headline\":\"Upload Transcript\",\"name\":\"Upload Transcript\",\"description\":\"Optional. Use this only if you already have the transcript and do not want EkaScribe to transcribe audio for you. Instead of uploading audio files, create a session, POST your transcript here along with the template_id you want it structured into, then poll Get Session for the structured result. The call is asynchronous: it returns 202 with a document_id and status: in-progress. Fetch the structured note with GET /voice/v1/sessions/{session_id} (optionally ?document_id=) or Get Document once its status is success. You may also omit template_id and send target_language instead to translate the transcript (or the session's stored transcript) into another language.\",\"url\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript\",\"mainEntityOfPage\":{\"@id\":\"https://developer.eka.care/api-sdk/scribe/sessions/upload-transcript#webpage\"},\"dateModified\":\"2026-10-30T06:21:54.854Z\",\"publisher\":{\"@id\":\"https://developer.eka.care/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.eka.care#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Eka Developer Platform APIs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Eka Developer Platform APIs","nav":{"global":null,"products":[{"product":"Clinical AI","icon":"sparkles","description":"The medical scribe, document parsing and the clinical MCP server, to build your own tools.","menu":[{"item":"Medical Scribe","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/mic.svg","description":"Consultations become structured notes that complete the chart","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/scribe/overview"}]},{"tab":"APIs \u0026 SDKs","pages":[{"group":"Medical Scribe API","pages":[{"icon":"clock","title":"Sessions Overview","href":"/api-sdk/scribe/sessions/overview"},{"group":"Protocol","icon":"book-medical","expanded":true,"pages":[{"title":"Discovery","openapi":"GET /voice/v1/.well-known/medscribealliance","href":"/api-sdk/scribe/protocol/discovery"}]},{"group":"Sessions","icon":"clock","pages":[{"title":"Create Session","openapi":"POST /voice/v1/sessions","href":"/api-sdk/scribe/sessions/create-session"},{"title":"Upload Audio","openapi":"POST /voice/v1/sessions/{session_id}/audio/{file_sequence}","playground":"simple","href":"/api-sdk/scribe/sessions/upload-audio"},{"title":"End Session","openapi":"POST /voice/v1/sessions/{session_id}/end","href":"/api-sdk/scribe/sessions/end-session"},{"title":"Get Session","openapi":"GET /voice/v1/sessions/{session_id}","href":"/api-sdk/scribe/sessions/get-session"},{"title":"Get Sessions","openapi":"GET /voice/api/v2/transaction/history","href":"/api-sdk/scribe/sessions/get-sessions"},{"title":"Get Session Audio","openapi":"GET /voice/v1/sessions/{session_id}/audio","href":"/api-sdk/scribe/sessions/get-audio"},{"title":"Update Session","openapi":"PATCH /voice/v1/sessions/{session_id}","description":"Update a session's metadata before it is committed. Use this to attach or correct `patient_details`, change the requested `templates`, adjust `language_hint`, or switch `session_mode` / `model`. `session_mode` and `model` can only be changed while the session is still open (before End Session) — attempting to change them afterwards returns `409`. Unknown fields are rejected.\n","href":"/api-sdk/scribe/sessions/update-session"},{"title":"Upload Transcript","openapi":"POST /voice/api/v1/transaction/{session_id}/convert-to-template","href":"/api-sdk/scribe/sessions/upload-transcript"},{"title":"Process Template","openapi":"POST /voice/v1/sessions/{session_id}/process/template/{template_id}","description":"After a session ends, generate another document from it for the given template. Every template processed — via Create Session `templates` or this API — creates a document, listed in the session's documents. The call is asynchronous: it returns `202` with a new `document_id`; fetch it with Get Session `?document_id=...` or Get Document once its status is `success`.\n","href":"/api-sdk/scribe/sessions/process-template"}]},{"group":"Templates","icon":"file-pen","pages":[{"title":"Create Template","openapi":"POST /voice/api/v1/template","href":"/api-sdk/scribe/templates/create-template"},{"title":"List Templates","openapi":"GET /voice/api/v1/template","href":"/api-sdk/scribe/templates/list-templates"},{"title":"Update Template","openapi":"PATCH /voice/api/v1/template/{template_id}","href":"/api-sdk/scribe/templates/update-template"},{"title":"Delete Template","openapi":"DELETE /voice/api/v1/template/{template_id}","href":"/api-sdk/scribe/templates/delete-template"}]},{"group":"Documents","icon":"file-lines","pages":[{"title":"Create or Update Document","openapi":"POST /voice/api/v1/documents","href":"/api-sdk/scribe/documents/create-update-document"},{"title":"Get Document","openapi":"GET /voice/api/v1/documents/{document_id}","href":"/api-sdk/scribe/documents/get-document"},{"title":"List Session Documents","openapi":"GET /voice/api/v1/sessions/{session_id}","href":"/api-sdk/scribe/documents/list-session-documents"},{"title":"Delete Document","openapi":"DELETE /voice/api/v1/documents/{document_id}","href":"/api-sdk/scribe/documents/delete-document"}]},{"group":"SDKs","icon":"box-open","pages":[{"title":"EkaScribe TypeScript SDK","sidebarTitle":"EkaScribe TS SDK","icon":"js","href":"/api-sdk/scribe/sdks/ekascribe-ts-sdk"},{"title":"MedScribe Alliance SDK (TypeScript)","sidebarTitle":"MedScribe Alliance SDK","icon":"js","href":"/api-sdk/scribe/sdks/ts-sdk"},{"title":"Python SDK","icon":"python","href":"/api-sdk/scribe/sdks/scribe-python-sdk"},{"title":"Python SDK (Deprecated)","icon":"triangle-exclamation","href":"/api-sdk/scribe/sdks/python-sdk"},{"icon":"box-open","title":"Java SDK","href":"/api-sdk/scribe/sdks/java-sdk"},{"icon":"box-open","title":"Android SDK","href":"/api-sdk/scribe/sdks/android-sdk"},{"icon":"box-open","title":"iOS SDK","href":"/api-sdk/scribe/sdks/ios-sdk"},{"title":null,"href":"/api-sdk/sdks/sdks/android/ekascribe"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/docs/get-started/ekascribe-changelog"}]}]},{"item":"Medical Document Parsing","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/brain-circuit.svg","description":"Any medical record, in any format, becomes structured data","tabs":[{"tab":"Documentation","pages":[{"group":"Medical Document Parsing","pages":[{"group":"Guides","icon":"book-open","expanded":true,"pages":[{"icon":"file-lines","title":"Medical Document Parsing","href":"/docs/models/medical-document-parsing"},{"icon":"tags","title":"Medical Entity Codification","href":"/docs/models/medical-entity-codification"}]},{"group":"Medical Document Parsing","icon":"book-open-cover","pages":[{"group":"Webhooks","icon":"webhook","pages":[{"title":null,"href":"/docs/models/medical-document-parsing/smart-report-webhook"},{"title":null,"href":"/docs/models/medical-document-parsing/pii-webhook"},{"title":null,"href":"/docs/models/medical-document-parsing/classification-webhook"}]}]},{"icon":"tags","title":"Medical Entity Codification","href":"/docs/models/medical-entity-codification/overview"},{"title":"Build with AI","icon":"wand-magic-sparkles","href":"/docs/models/build-with-ai"}]}]},{"tab":"APIs \u0026 SDKs","pages":[{"group":"Medical Document Parsing API","pages":[{"sidebarTitle":"Document parsing API","title":null,"href":"/api-sdk/models/medical-document-parsing/introduction"},{"group":"Medical Document Parsing","icon":"book-open-cover","expanded":true,"pages":[{"title":"Upload Report","openapi":"POST /mr/api/v2/docs","href":"/api-sdk/models/medical-document-parsing/upload-report"},{"title":"Parsed Report Result","openapi":"get /mr/api/v1/docs/{document_id}/result","href":"/api-sdk/models/medical-document-parsing/parsed-report-result"},{"title":"Delete Document","openapi":"delete /mr/api/v1/docs/{id}","href":"/api-sdk/models/medical-document-parsing/delete-document"}]},{"group":"Medical Entity Codification","icon":"tags","pages":[{"title":"List Registry","openapi":"GET /med-link/registry/","href":"/api-sdk/models/medical-entity-codification/registry"},{"title":"Link Entity","openapi":"POST /med-link/nel/link","href":"/api-sdk/models/medical-entity-codification/link-entity"},{"title":"Link Entities (Batch)","openapi":"POST /med-link/nel/link/batch","href":"/api-sdk/models/medical-entity-codification/link-entity-batch"}]},{"group":"SDKs","icon":"box-open","pages":[{"icon":"box-open","title":"Python","href":"/api-sdk/models/sdks/backend/report-parsing-sdk"},{"icon":"box-open","title":"Java","href":"/api-sdk/models/sdks/backend/report-parsing-sdk-java"}]}]}]}]},{"item":"Clinical MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/stethoscope.svg","description":"Ground your agent in Indian drugs, treatment protocols, pharmacology and clinical calculators","tabs":[{"tab":"Documentation","pages":[{"group":"Clinical MCP","pages":[{"icon":"plug","title":"MedAI Tools MCP Server","href":"/docs/datasets/build-with-ai/mcp-server/introduction"},{"icon":"bolt","title":"Quickstart","href":"/docs/datasets/build-with-ai/mcp-server/quickstart"},{"icon":"book","title":"Tool Reference","href":"/docs/datasets/build-with-ai/mcp-server/tools"},{"icon":"lock","title":"Authentication","href":"/docs/datasets/build-with-ai/mcp-server/authentication"}]}]}]}]},{"product":"ABDM Connect","icon":"hospital","description":"ABHA, consent and record exchange across India's health stack, plus insurance claims.","menu":[{"item":"HIE-CM","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/arrow-left-right.svg","description":"ABHA, care contexts, consent and records","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/hie-cm/about"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/hie-cm/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/docs/hie-cm/changelog"}]}]},{"item":"NHCX","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/shield-check.svg","description":"Eligibility, pre-auth and insurance claims","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/nhcx/getting-started"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/nhcx/search-payers"}]}]},{"item":"UHI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/network.svg","description":"Blood bank search and consultations across the network","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/uhi/journeys/uhi-book-physical-consultation"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/uhi/blood-bank/state-district"}]}]}],"pages":[{"title":"ABDM Connect","href":"/docs/hie-cm/about"}]},{"product":"Resources","icon":"book-open","description":"Keys, sign-in, encryption, every API, worked examples and the Eka MCP server.","menu":[{"item":"Get started","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/rocket.svg","description":"Overview, products and glossary","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/get-started/overview"}]}]},{"item":"Auth","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/key-round.svg","description":"Client credentials, OAuth2 and OIDC","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/auth/invite-flow"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/auth/getting-started"}]}]},{"item":"Encryption","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/lock.svg","description":"End-to-end encryption and IP allowlisting","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/encryption/guide"}]}]},{"item":"All APIs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/code.svg","description":"Every Eka API, by product","tabs":[{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk"}]}]},{"item":"Cookbook","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/chef-hat.svg","description":"Worked examples that combine Eka products","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/get-started/cookbook"}]}]},{"item":"Eka MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/plug.svg","description":"Connect your agent to Eka EMR: patients, appointments and prescriptions","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/emr/build-with-ai/mcp-server/introduction"}]}]}],"pages":[{"title":"Resources","href":"/docs/get-started/overview"}]},{"product":"Newsboard","icon":"newspaper","description":"What changed across Eka, and the research behind it.","menu":[{"item":"Eka Labs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/flask-conical.svg","description":"Open models, datasets and research for AI in Indian healthcare","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/models/spotlight"}]}]},{"item":"Changelog","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/history.svg","description":"What changed across Eka, week by week","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/get-started/changelog"}]}]}],"pages":[{"title":"Newsboard","href":"/docs/models/spotlight"}]},{"product":"More from Eka","icon":"box-archive","description":"Products kept out of the navigation. Their pages stay live, listed on /sitemap.","hidden":true,"menu":[{"item":"Medical Agents","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/bot.svg","description":"A ready-made medical assistant, a kit to build your own agent, and SDKs to embed them","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/products/agents"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/agents/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/docs/get-started/ekaagents-changelog"}]}]},{"item":"Medical Knowledge","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/database.svg","description":"Drugs, labs, protocols and medical knowledge","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/datasets/medical-db"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/datasets/overview"}]}]},{"item":"Understanding Integrations","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/compass.svg","description":"For teams already on an Eka product: connect Eka EMR, IPD, Billing and Health Records to your own systems through the same APIs developers build with","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/integrations/overview"}]}]},{"item":"Eka EMR","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ekacare/images/icons/products/clipboard-list.svg","description":"Patients, appointments and prescriptions","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/emr/patients"}]},{"tab":"APIs \u0026 SDKs","pages":[{"title":"APIs \u0026 SDKs","href":"/api-sdk/emr/instructions/before-you-begin"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/docs/get-started/emr-changelog"}]}]}],"pages":[{"title":"More from Eka","href":"/docs/products/agents"}]}]},"title":"Upload Transcript - Eka Developer Platform APIs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}