> ## Documentation Index
> Fetch the complete documentation index at: https://docs.momentum.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a list of meetings



## OpenAPI

````yaml /api/openapi-spec.yaml get /v1/meetings
openapi: 3.1.0
info:
  title: Momentum API
  description: >-
    API for managing meetings with attendee and transcript details, and
    retrieving AI signal executions.
  version: 2.0.0
servers:
  - url: https://api.momentum.io
security:
  - ApiKeyAuth: []
tags:
  - name: Meetings
    description: Endpoints for retrieving and managing meetings.
  - name: Users
    description: Endpoints for retrieving organization users.
  - name: Signals V1
    description: AI signal prompts and executions (v1).
  - name: Signals V2
    description: AI signal definitions and executions (v2).
paths:
  /v1/meetings:
    get:
      tags:
        - Meetings
      summary: Retrieve a list of meetings
      parameters:
        - name: from
          in: query
          description: >-
            Filter meetings starting from this date-time (ISO 8601 format)
            inclusively. Required.
          required: true
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          description: >-
            Filter meetings ending before this date-time (ISO 8601 format)
            inclusively.
          required: false
          schema:
            type: string
            format: date-time
        - name: pageNumber
          in: query
          description: >-
            The page number to retrieve (1-based indexing). Defaults to 1 if not
            specified.
          required: false
          schema:
            type: number
            format: int32
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          description: >-
            The maximum number of meetings to return per page. Must be between 1
            and 50. Defaults to 10 if not specified.
          required: false
          schema:
            type: number
            format: int32
            minimum: 1
            maximum: 50
            default: 10
        - name: salesforceAccountId
          in: query
          description: >-
            Filter meetings associated with a specific Salesforce account.
            Optional, must be 18 characters in length. Cannot be used with
            salesforceOpportunityId.
          required: false
          schema:
            type: string
            minLength: 18
            maxLength: 18
        - name: salesforceOpportunityId
          in: query
          description: >-
            Filter meetings associated with a specific Salesforce opportunity.
            Optional, must be 18 characters in length. Cannot be used with
            salesforceAccountId.
          required: false
          schema:
            type: string
            minLength: 18
            maxLength: 18
        - name: attendeeEmailAddresses
          in: query
          description: >-
            Filter meetings that include all of the provided attendee email
            addresses.
          required: false
          schema:
            type: array
            items:
              type: string
              format: email
          style: form
          explode: false
        - name: sourceTypes
          in: query
          description: >
            Filter meetings by source type(s). Provide a comma-separated list of
            source types.

            Valid values: AIRCALL, ATTENTION, CHORUS, CLOUDTALK, DIALPAD, GONG,
            MINDTICKLE, MOMENTUM, MS_TEAMS, ORUM, OUTREACH, RINGCENTRAL,
            SALESLOFT, SALESLOFT_CI, USER_PROVIDED, VONAGE, WEBEX, WINGMAN,
            WISER, ZOOM, ZOOM_PHONE
          required: false
          schema:
            type: string
        - name: includeDownloadUrl
          in: query
          description: >
            When set to true, includes a temporary pre-signed download URL
            (valid for 2 hours) for each meeting that has a recording available.
            Defaults to false.
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: A list of meetings.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meetings:
                    type: array
                    items:
                      $ref: '#/components/schemas/Meeting'
                  pageCount:
                    type: number
                    format: int32
                    description: Total number of pages available for the current query.
                required:
                  - meetings
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |
            curl --request GET \
              --url 'https://api.momentum.io/v1/meetings?from=2025-01-01T00:00:00Z&to=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeDownloadUrl=true&sourceTypes=MOMENTUM,GONG' \
              --header 'X-API-Key: YOUR_API_KEY'
        - lang: javascript
          label: JavaScript
          source: |
            const response = await fetch(
              "https://api.momentum.io/v1/meetings?from=2025-01-01T00:00:00Z&to=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeDownloadUrl=true&sourceTypes=MOMENTUM,GONG",
              {
                headers: { "X-API-Key": "YOUR_API_KEY" },
              }
            );
            const data = await response.json();
        - lang: python
          label: Python
          source: |
            import requests

            response = requests.get(
                "https://api.momentum.io/v1/meetings",
                headers={"X-API-Key": "YOUR_API_KEY"},
                params={
                    "from": "2025-01-01T00:00:00Z",
                    "to": "2025-01-31T23:59:59Z",
                    "pageNumber": 1,
                    "pageSize": 10,
                    "includeDownloadUrl": "true",
                    "sourceTypes": "MOMENTUM,GONG",
                },
            )
            data = response.json()
        - lang: go
          label: Go
          source: |
            req, _ := http.NewRequest("GET",
              "https://api.momentum.io/v1/meetings?from=2025-01-01T00:00:00Z&to=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeDownloadUrl=true&sourceTypes=MOMENTUM,GONG",
              nil)
            req.Header.Set("X-API-Key", "YOUR_API_KEY")
            resp, _ := http.DefaultClient.Do(req)
            defer resp.Body.Close()
            body, _ := io.ReadAll(resp.Body)
components:
  schemas:
    Meeting:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        host:
          type: object
          properties:
            email:
              type: string
            name:
              type: string
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/Attendee'
        transcript:
          type: object
          properties:
            entries:
              type: array
              items:
                $ref: '#/components/schemas/TranscriptEntry'
        salesforceAccountId:
          type: string
        salesforceLeadId:
          type: string
        salesforceOpportunityId:
          type: string
        downloadUrl:
          type: string
          format: uri
          description: >
            Pre-signed URL to download the meeting recording. Valid for 2 hours
            from the time of the API request. Only present when
            includeDownloadUrl=true and the meeting has a recording available.
        downloadUrlExpiresAt:
          type: string
          format: date-time
          description: >
            Expiration time of the download URL in ISO 8601 format (UTC). Only
            present when includeDownloadUrl=true and downloadUrl is generated.
    Attendee:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
          format: email
        isInternal:
          type: boolean
        salesforceCaseId:
          type: string
        salesforceLeadId:
          type: string
      required:
        - name
        - email
        - isInternal
    TranscriptEntry:
      type: object
      properties:
        speaker:
          type: object
          properties:
            name:
              type: string
            attendeeId:
              type: string
          required:
            - name
        timestamp:
          type: string
        timestampSeconds:
          type: number
          format: int32
        text:
          type: string
      required:
        - text
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authenticating requests

````