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://example.com/public/v1/transcripts/string"{ "data": { "id": "string", "meeting_id": "string", "recording_id": "string", "status": "PROCESSING", "full_text": "string", "primary_language": "string", "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", "timezone": "string", "calendar_event_id": "string", "attendees": [ { "email": "user@example.com", "display_name": "string", "time_joined": "2019-08-24T14:15:22Z" } ] }, "segments": [ { "speaker_label": "string", "speaker": { "name": "string", "email": "user@example.com" }, "text": "string", "start_time": "2019-08-24T14:15:22Z", "end_time": "2019-08-24T14:15:22Z" } ] }}{ "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.