Conversation
List Conversations
Retrieve a paginated list of all conversations that belong to the current user.
GET /conversations
Headers:
Authorization: $OTO_API_KEY
OTO_USER_ID: {user_id}
Query-params (all optional):
?status=active|archived // filter by conversation status
?updated_since=YYYY-MM-DDTHH:MM:SSZ // return only conversations updated after this ISO-8601 timestamp
?limit=50 // max items to return (default 50, max 200)
?offset=0 // pagination offset
Response
{
"conversations": [
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"title": "Daily stand-up",
"created_at": "0000-00-00T00:00:00Z",
"updated_at": "0000-00-00T00:00:00Z",
"status": "active", // "active" | "archived"
"last_transcript_preview": "Yesterday we decided to …"
}
]
}
Get Conversation Audio URL
Returns the signed, time-limited URL where the raw audio for the conversation can be downloaded or streamed.
GET /conversation/{conversation_id}/audio_url
Headers:
Authorization: $OTO_API_KEY
OTO_USER_ID: {user_id}
Response
{
"conversation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"audio_url": "https://storage....../audio/XXXXXXXX-XXXX-…"
}
Get Full Transcript
Fetch the complete, finalized transcript as plain text or in an alternate format (e.g. SRT).
GET /conversation/{conversation_id}/transcript
Headers:
Authorization: $OTO_API_KEY
OTO_USER_ID: {user_id}
Query-params (optional):
?format=plain|srt|vtt // default "plain"
Response
{
"conversation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"format": "plain",
"transcript": "Hi Bob, let's meet at eight o'clock …"
}
Get Conversation Summary Logs
Return a time-ordered list of high-level conversation “logs”—useful when you want a quick overview without scanning the entire transcript.
GET /conversation/{conversation_id}/logs
Headers:
Authorization: $OTO_API_KEY
OTO_USER_ID: {user_id}
Query-params (optional):
?limit=100 // number of log items to return (default 100, max 1000)
?offset=0
Response
{
"conversation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"logs": [
{
"start": 0,
"end": 3500,
"speaker": "user",
"summary": "User greeted and described the agenda.",
"transcript_excerpt": "Hi everyone, first I'd like to …"
},
{
"start": 3500,
"end": 7200,
"speaker": "assistant",
"summary": "Assistant confirmed meeting time and suggested next steps.",
"transcript_excerpt": "Sure, let's lock the meeting for 8 PM and I'll send …"
}
]
}
Last updated