Skip to main content
GET
/
voice
/
v1
/
.well-known
/
medscribealliance
Discovery
curl --request GET \
  --url https://api.eka.care/voice/v1/.well-known/medscribealliance
{
  "protocol": "medscribealliance",
  "protocol_version": "0.1",
  "supported_versions": [
    "0.1"
  ],
  "service": {
    "name": "Voice2Rx Medical Scribe Service",
    "documentation_url": "https://developer.eka.care",
    "support_email": "support@eka.care"
  },
  "endpoints": {
    "base_url": "https://api.eka.care/voice/v1",
    "webhooks_url": "https://api.eka.care/voice/v1/webhooks",
    "templates_url": "https://api.eka.care/voice/api/v1/template"
  },
  "authentication": {
    "supported_methods": [
      "api_key",
      "oidc"
    ],
    "oidc": {
      "issuer": "https://accounts.eka.care/oauth2",
      "authorization_endpoint": "https://accounts.eka.care/oauth2/authorize",
      "token_endpoint": "https://accounts.eka.care/oauth2/token",
      "scopes_supported": [
        "openid",
        "profile"
      ]
    }
  },
  "capabilities": {
    "audio_formats": [
      "audio/webm;codecs=opus",
      "audio/wav",
      "audio/ogg",
      "audio/mp4",
      "audio/m4a",
      "audio/mp3"
    ],
    "max_chunk_duration_seconds": 20,
    "upload_methods": [
      "chunked",
      "single",
      "stream"
    ],
    "webhook_delivery": true,
    "client_sdk_delivery": true
  },
  "models": [
    {
      "id": "lite",
      "display_name": "Lite",
      "languages": [
        "en",
        "hi"
      ],
      "max_session_duration_seconds": 600,
      "response_speed": "fast",
      "features": {
        "realtime_transcription": false,
        "speaker_diarization": false,
        "custom_templates": false
      }
    },
    {
      "id": "pro",
      "display_name": "Professional",
      "languages": [
        "en",
        "hi",
        "ta",
        "te",
        "bn",
        "mr",
        "gu",
        "kn",
        "ml",
        "pa"
      ],
      "max_session_duration_seconds": 3600,
      "response_speed": "standard",
      "features": {
        "realtime_transcription": true,
        "speaker_diarization": true,
        "custom_templates": true
      }
    }
  ],
  "languages": {
    "supported": [
      "en",
      "hi",
      "ta",
      "te",
      "bn",
      "mr",
      "gu",
      "kn",
      "ml",
      "pa"
    ],
    "auto_detection": true
  }
}
The discovery endpoint is the first call a client should make. It is public (no authentication) and advertises everything a client needs to configure a session: the protocol version, supported authentication methods, audio capabilities, available models and supported languages.
The response is cacheable — it is returned with Cache-Control: max-age=10800 (3 hours). Fetch it once on startup and reuse it.

What to do with the response

FieldUse it to…
capabilities.audio_formatsPick a recording MIME type the server accepts.
capabilities.upload_methodsChoose a valid upload_type (chunked, single, stream) for Create Session.
capabilities.max_chunk_duration_secondsCap how long each uploaded chunk should be (≤20s recommended).
models[]Choose a model (lite / pro) based on languages, max session duration and features.
languages.supportedValidate the language_hint / transcript_language you intend to send.
authentication.supported_methodsDecide between API key and OIDC auth.

Response fields

FieldTypeDescription
protocolstringAlways medscribealliance.
protocol_versionstringCurrent protocol version (e.g. 0.1).
supported_versionsstring[]All protocol versions the service supports.
serviceobjectService name, documentation URL, support email.
endpointsobjectbase_url, webhooks_url, templates_url.
authenticationobjectsupported_methods and optional oidc config.
capabilitiesobjectAudio formats, chunk limits, upload methods, delivery flags.
modelsobject[]Available models with languages, limits and feature flags.
languagesobjectSupported language codes and whether auto-detection is available.

Next step

Use the advertised models and capabilities to create a session.

Response

200 - application/json

Discovery document

protocol
string
Example:

"medscribealliance"

protocol_version
string
Example:

"0.1"

supported_versions
string[]
service
object
endpoints
object
authentication
object
capabilities
object
models
object[]
languages
object