Meetings

Import a Meeting Transcript

Changed on

Attaches a transcript to an existing calendar meeting. Never creates meetings, and never stores audio or video.

Prefer meeting_id from list_meetings or get_meeting. Otherwise send calendar_event_id (Google Calendar events.id) or ical_uid, plus started_at when the id belongs to a recurring meeting. Unmatched rows return unmatched_meeting: skip them, do not invent a meeting.

The transcript is only stored when Monaco has not covered the meeting itself. Check transcript_source on get_meeting before posting. Rejections carry a machine-readable error.code and write nothing:

  • monaco_recorder_configured (409): Monaco's recorder handles this call.
  • transcript_exists (409): the meeting already has a transcript, or this external_id is stored with different content. A meeting holds at most one imported transcript.
  • do_not_ingest (409): the meeting or its series is marked do-not-ingest.
  • ambiguous_meeting (422): several occurrences match; resend with started_at.
  • meeting_not_ended (422): the meeting has not finished yet; retry after it ends.
  • unmatched_meeting (422): no meeting matched the identifiers sent.
  • privacy_blocked (403): org privacy settings block this meeting's content.
  • meeting_deleted (410): the meeting was deleted.

Retries with the same external_id and the same transcript return created: false.

post/v1/meetings/transcripts

Request

  • Base URL
    https://api.monaco.com
  • URL
    https://api.monaco.com/v1/meetings/transcripts
  • Auth
    none declared

Request body

external_idstring required

Idempotency key from the caller's system

meeting_idstring uuid nullable

Monaco meeting id from list_meetings / get_meeting. Strongest match

calendar_event_idstring nullable

Google Calendar event id (events.id), not iCal UID

ical_uidstring nullable

iCalendar UID (often looks like event@google.com)

started_atstring date-time nullable

When the recording started (ISO 8601). Picks the occurrence when calendar_event_id or ical_uid matches several instances of a recurring meeting

Example request

{
  "external_id": "call-abc123",
  "transcript": [
    {
      "speaker": "Jane Smith",
      "text": "Thanks everyone for joining.",
      "end": 1.5,
      "language": "en"
    }
  ],
  "meeting_id": "550e8400-e29b-41d4-a716-446655440000",
  "calendar_event_id": "abc123",
  "ical_uid": "abc123@google.com",
  "started_at": "2026-03-01T10:02:14Z"
}

Response

Successful Response

Changes