SAGEA LogoDocs & API

MYLO Transcripts

Fetch speaker turns, timestamps, duration, and the recording for any finished MYLO voice session.

GET https://api.sagea.space/mylo/sessions/{session_id}/transcript

Call after the session ends or after the call reaches a terminal state for complete turns.

Authentication

Send Authorization: Bearer $SAGEA_API_KEY on every request. Get a key

Parameters

ParameterTypeRequiredDescription
session_idstringYesSession ID from create, path parameter
formatstringNoResponse shape, json by default with turn-level timing
include_recordingbooleanNoSet true to include recording_url in the response
languagestringNoHint such as ne-NP for mixed Nepali and English sessions

Transcripts mix Nepali and English exactly as spoken, preserving code-switching for audit and QA.

Use started_at and ended_at offsets to align turns with analytics or subtitle rendering.

Recording URLs are signed and expire, so download promptly or export turns to your own store.

curl "https://api.sagea.space/mylo/sessions/mylo_ses_9dK4pQ2mX7aB/transcript?include_recording=true" \
  -H "Authorization: Bearer $SAGEA_API_KEY"

Response

A ready transcript returns 200 with ordered turns, total duration, and an optional recording URL.

{
  "session_id": "mylo_ses_9dK4pQ2mX7aB",
  "duration_seconds": 96,
  "recording_url": "https://api.sagea.space/mylo/recordings/mylo_ses_9dK4pQ2mX7aB.mp3",
  "turns": [
    {
      "speaker": "agent",
      "text": "नमस्ते, म MYLO हुँ। तपाईंको भोलिको 10 बजेको अपोइन्टमेन्ट कन्फर्म गर्ने हो?",
      "started_at": 0.4,
      "ended_at": 5.1
    },
    {
      "speaker": "user",
      "text": "नमस्ते, हो confirm गरिदिनुस्। Fee कति हो?",
      "started_at": 5.6,
      "ended_at": 9.2
    },
    {
      "speaker": "agent",
      "text": "धन्यवाद। Visit fee NPR 500 हो, Labeshwor clinic मा भोलि 10 बजे।",
      "started_at": 9.5,
      "ended_at": 14.8
    }
  ]
}

Speakers are agent or user, with float second offsets from session start.

Empty turns never appear, and overlapping speech is split into separate ordered entries.

Errors

StatusCodeFix
404session_not_foundCheck the session ID and account scope
404transcript_not_readyWait for session end, then retry with backoff
401unauthorizedVerify SAGEA_API_KEY and header formatting
429rate_limit_exceededCache transcripts instead of polling in a loop

Limits

Transcripts retained 90 days, recording URLs expire after 24 hours, 30 fetches per minute per session.

What's next

On this page