Get a transcript
Full transcript with every speaker segment. `segments[].start_time` and `end_time` are seconds from the start of the recording.
Authorization
bearerAuth API key issued in Settings → API Keys in the Meetso dashboard. Owners and Admins only.
In: header
Path Parameters
Resource id (CUID).
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET 'https://api.meetso.ai/public/v1/transcripts/<id>' \ -H 'Authorization: Bearer mts_live_…'{
"data": {
"id": "string",
"meeting_id": "string",
"recording_id": "string",
"status": "PROCESSING",
"full_text": "string",
"primary_language": "string",
"languages": [
"string"
],
"is_multilingual": true,
"word_count": -9007199254740991,
"error_message": "string",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"meeting": {
"id": "string",
"title": "string",
"start_time": "2019-08-24T14:15:22Z",
"end_time": "2019-08-24T14:15:22Z"
},
"segments": [
{
"speaker_label": "string",
"speaker": {
"name": "string",
"email": "user@example.com"
},
"text": "string",
"language": "string",
"language_confidence": 0,
"start_time": 0,
"end_time": 0,
"confidence": 0
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"request_id": "string"
}
}Get a meeting
Fetch one meeting by id. 404 if the id does not exist OR belongs to a different organization (cross-org access is not distinguished from absence).
Get a recording
Recording metadata + a short-TTL presigned S3 URL. The URL is null until `status === "COMPLETED"` and expires at `download_url_expires_at`. Refetch this endpoint to get a fresh URL — it is cheap and does not consume bandwidth budget.