---
title: "List meetings"
method: GET
path: "/meetings"
tags: ["Meetings"]
---

# List meetings

`GET /meetings`

## Query parameters

- `calendar_invitees_domains[]` string[]
- `calendar_invitees_domains_type` 'all' | 'only_internal' | 'one_or_more_external'
- `created_after` string
- `created_before` string
- `cursor` string
- `include_action_items` boolean
- `include_crm_matches` boolean
- `include_highlights` boolean
- `include_summary` boolean
- `include_transcript` boolean
- `meeting_type` string
- `recorded_by[]` string[]
- `teams[]` string[]

## Response `200`

Paginated list of meetings.

- MeetingListResponse
  - `limit` integer, nullable, required
  - `next_cursor` string, nullable, required
  - `items` Meeting[], required
    - `title` string, required
    - `meeting_title` string, nullable, required — Calendar event title.
    - `meeting_type` string, nullable, required — The name of the meeting type assigned to this meeting, or `null` if none is assigned.
    - `recording_id` integer, required — The ID of the meeting recording.
    - `url` string, uri, required
    - `meeting_url` string, uri, nullable — The underlying meeting join URL (Zoom, Google Meet, Microsoft Teams, or Slack huddle) from the calendar event. `null` when there is no associated calendar meeting.
    - `share_url` string, uri, required
    - `created_at` string, date-time, required
    - `scheduled_start_time` string, date-time, required
    - `scheduled_end_time` string, date-time, required
    - `recording_start_time` string, date-time, required
    - `recording_end_time` string, date-time, required
    - `calendar_invitees_domains_type` 'only_internal' | 'one_or_more_external', required
    - `shared_with` 'no_teams' | 'single_team' | 'multiple_teams' | 'all_teams', required — Who the meeting is shared with within your organization. `no_teams`: private to the recorder. `single_team`: shared with one team. `multiple_teams`: shared with multiple teams. `all_teams`: shared with everyone in the organization.
    - `transcript_language` string, required
    - `transcript` TranscriptItem[], nullable
      - `speaker` TranscriptItemSpeaker, required
        - `display_name` string, required
        - `matched_calendar_invitee_email` string, email, nullable — The email address of the calendar invitee matching this speaker. Null if no exact match found.
      - `text` string, required
      - `timestamp` string, required — Timestamp relative to the start of the meeting (HH:MM:SS).
    - `default_summary` MeetingSummary
      - `template_name` string, nullable, required
      - `markdown_formatted` string, nullable, required — Always displayed in English.
    - `action_items` ActionItem[], nullable
      - `description` string, required — Always displayed in English.
      - `user_generated` boolean, required
      - `completed` boolean, required
      - `recording_timestamp` string, required — Timestamp relative to the start of the recording (HH:MM:SS).
      - `recording_playback_url` string, uri, required
      - `assignee` Assignee, required
        - `name` string, nullable, required
        - `email` string, email, nullable, required
        - `team` string, nullable, required
    - `highlights` Highlight[], nullable
      - `type` string, required — The label of the bookmark this highlight was created from.
      - `summary` string, nullable, required — A short summary of the highlighted moment.
      - `text` string — The full text of the highlight. Only present when it differs from `summary`.
      - `start_time` number, required — Start of the highlight, in seconds from the start of the recording.
      - `end_time` number, required — End of the highlight, in seconds from the start of the recording.
    - `calendar_invitees` Invitee[], required
      - `name` string, nullable, required
      - `matched_speaker_display_name` string, nullable — (When `include_transcript` is `true`) The display_name matching this email address. Null if no exact match found. Only available for meetings after Feb 1, 2025.
      - `email` string, email, nullable, required
      - `email_domain` string, nullable, required
      - `is_external` boolean, required
    - `recorded_by` FathomUser, required
      - `name` string, required
      - `email` string, email, required
      - `email_domain` string, required
      - `team` string, nullable, required
    - `crm_matches` CRMMatches, nullable — CRM data linked to the meeting. Only returns data from your or your team's linked CRM. If no CRM is connected for the workspace, the `error` field will be populated.
      - `contacts` CRMContactMatch[]
        - `name` string, required
        - `email` string, email, required
        - `record_url` string, uri, required
      - `companies` CRMCompanyMatch[]
        - `name` string, required
        - `record_url` string, uri, required
      - `deals` CRMDealMatch[]
        - `name` string, required
        - `amount` number, required — The amount in dollars.
        - `record_url` string, uri, required
      - `error` string, nullable

## Other responses

- `400` — Bad request - the query parameters were invalid.
- `401` — Unauthorized - missing or invalid `Authorization` header.
- `429` — Rate limited - you have exceeded the rate limit for the requested endpoint. Check our [rate limiting](/api-reference#rate-limiting) documentation for more information.

---

[API](https://skmtc.dev/fathom/apis/fathom-external-api.md) · [All operations](https://skmtc.dev/fathom/apis/fathom-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fathom/fathom-external-api/revisions/454c25378beb/schema)
