Skip to content

Retrieve a meeting recording

GET/v1/meetings/{id}/recordings/{recordingId}

A recording is one session of the meeting: its transcript and, when there is one, its audio or video. Recordings come from the Lightfield notetaker, Gong, Granola, or an upload. Only uploaded recordings can be created or given media through the API. Returns the recording with a short-lived media.url for its audio or video. For notetaker and Gong recordings the URL is fetched from the provider on each call. Requires full access to the meeting; a caller who sees only its metadata gets a 403.

Required scope: meetings:read

Rate limit category: Read

Path ParametersExpand Collapse
id: string

Unique identifier of the meeting.

recordingId: string

Unique identifier of the recording.

ReturnsExpand Collapse
MeetingRetrieveRecordingResponse object { id, isCanonical, media, 4 more }
id: string

Unique identifier of the recording.

isCanonical: boolean

Whether this is the meeting’s primary recording, the one summaries and $transcript use.

media: object { mimeType, url }

Playable audio or video. Null when the recording has none, such as a Granola note, a private Gong call, a failed notetaker recording or an upload without media.

mimeType: string

MIME type of the media, when known.

url: string

Short-lived download URL for the audio or video. Anyone with the URL can download it until it expires, so fetch it again when needed rather than storing it.

provider: "RECALL" or "GONG" or "GRANOLA" or "UPLOAD"

Where the recording came from: RECALL (Lightfield notetaker), GONG, GRANOLA, or UPLOAD.

One of the following:
"RECALL"
"GONG"
"GRANOLA"
"UPLOAD"
recordedAt: string

When the provider recorded it, in ISO 8601. Null if unknown.

recordedBy: string

Display name of who recorded or uploaded it. Not a member reference.

transcript: object { fileId }

The transcript text file. Null for older notetaker recordings.

fileId: string

File ID of the transcript. Read its text through GET /v1/files/{id}/url.

Retrieve a meeting recording

curl https://api.lightfield.app/v1/meetings/$ID/recordings/$RECORDING_ID \
    -H 'Lightfield-Version: 2026-03-01' \
    -H "Authorization: Bearer $API_KEY"
{
  "id": "id",
  "isCanonical": true,
  "media": {
    "mimeType": "mimeType",
    "url": "url"
  },
  "provider": "RECALL",
  "recordedAt": "recordedAt",
  "recordedBy": "recordedBy",
  "transcript": {
    "fileId": "fileId"
  }
}
Returns Examples
{
  "id": "id",
  "isCanonical": true,
  "media": {
    "mimeType": "mimeType",
    "url": "url"
  },
  "provider": "RECALL",
  "recordedAt": "recordedAt",
  "recordedBy": "recordedBy",
  "transcript": {
    "fileId": "fileId"
  }
}