Meetings and calls
A recording captured by the meeting bot and a recording captured from a VoIP integration are different things in the product, so they are different resources in the API.
| Meetings | Calls | |
|---|---|---|
| Collection | /v1/meetings | /v1/calls |
object | meeting | call |
| Identifier prefix | mtg_ | call_ |
| Where it comes from | Meeting bot, platform upload, mobile app | VoIP integration |
Both support the same five routes — list, retrieve, transcript, template answers
and overall evaluation — and carry the same fields except bot_history, which
only a meeting has. What else changes is the collection and the identifier
prefix.
Do not infer the kind from the media type
Section titled “Do not infer the kind from the media type”object and type are independent axes:
objectsays what the record is —meetingorcall.typesays how it was captured —videooraudio.
A call can be video, and a meeting can be audio. In one production company, 3 of
49 calls are video and 6 of 863 meetings are audio. Branching on type to guess
the kind gets those wrong.
{ "id": "call_IGmhT13We_ltOPvjNSCHKw", "object": "call", "type": "audio" }{ "id": "call_J781tlst89klU_mWPMXgDA", "object": "call", "type": "video" }Identifiers do not cross collections
Section titled “Identifiers do not cross collections”An id addresses a resource in exactly one collection. Asking the wrong one is a
404, not a redirect:
curl ".../v1/calls/mtg_H9_chV2YG6UGE0n31AqvDQ" -H "Authorization: Bearer $TOKEN"# 404 RESOURCE_NOT_FOUNDThis is deliberate: it keeps an id from silently resolving to a resource of a different kind, and it makes a mis-routed request obvious in your logs instead of returning something plausible.
What is visible
Section titled “What is visible”A record appears in the API only when it is completed — the processing that
produces transcripts, answers and evaluations has finished. Records still
recording, processing or failed are not returned at all, rather than exposed with
a partial status. status is therefore always completed in v1.
Ownership follows the meeting owner’s default company. If a user’s default company changes, their historical records move with them. This is a known trade-off of resolving ownership at read time; see Security.
Choosing a collection
Section titled “Choosing a collection”Read /v1/meetings for sales conversations captured by the bot or uploaded, and
/v1/calls for phone conversations captured through VoIP. If you want both, page
each collection independently — there is no combined endpoint, because the two
have different volumes and different retention in practice.