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).
Authorization
bearerAuth API key issued in Settings → API Keys in the Meetso dashboard. Owners and Admins only. Test keys (mts_test_) read the same data.
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/meetings/string"{ "data": { "id": "string", "title": "string", "meet_url": "string", "platform": "GOOGLE", "calendar_event_id": "string", "start_time": "2019-08-24T14:15:22Z", "end_time": "2019-08-24T14:15:22Z", "timezone": "string", "organizer_email": "string", "organizer_name": "string", "attendees": [ { "email": "user@example.com", "display_name": "string", "time_joined": "2019-08-24T14:15:22Z" } ], "transcript_id": "string", "recording_id": "string", "processing_status": "PROCESSING", "created_at": "2019-08-24T14:15:22Z" }}List meetings
Cursor-paginated list of an organization's meetings. Defaults to past meetings only; flip `time_range` for upcoming or all.
Get a transcript
Full transcript with every speaker segment. Organization Developer Settings → API keys → Transcript output selects Original, Translated (default), or Both for Public API and MCP retrieval. Required `text` follows that preference with stored-text fallback when the requested version is unavailable; Both adds `original_text` only when distinct preserved source exists. `text_mode` reports the preference and `translated_to` the stored nullable target, not a guarantee that every segment is translated. Original rebuilds `full_text` and `word_count` from the selected segments; historical rows without segments retain stored aggregates. Search continues to use current stored text. `segments[].start_time` and `end_time` are absolute UTC ISO 8601 timestamps anchored to recording start.