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

# startMeeting

> infrastructure. Supports hybrid architecture: WebRTC for free tier (up to 4 participants)
and GetStream for paid tier (up to 100 participants with recording). Only the meeting
host can start meetings. Provides ICE server configuration for WebRTC or schedules
GetStream room creation. Automatically initializes transcription services.



## OpenAPI

````yaml api-reference/convex-openapi.yaml post /api/run/meetings/lifecycle/startMeeting
openapi: 3.0.3
info:
  title: Connvo Convex API
  version: 1.0.0
  description: >-
    HTTP interface for Connvo's Convex backend, exposing vetted query, mutation,
    and action endpoints.
servers:
  - url: https://Connvo-dev.convex.cloud
    description: Dev Convex deployment
  - url: https://Connvo-staging.convex.cloud
    description: Staging Convex deployment
  - url: https://Connvo-prod.convex.cloud
    description: Prod Convex deployment
security:
  - bearerAuth: []
tags:
  - name: Users
    description: Identity, profile, and authentication operations for Connvo users.
  - name: Meetings
    description: Scheduling, managing, and retrieving meeting data.
  - name: Transcripts
    description: Endpoints for accessing call transcripts and transcription controls.
  - name: Insights
    description: AI-generated insights, summaries, and analytics derived from meetings.
  - name: Prompts
    description: Prompt management and AI conversation guidance.
  - name: Notes
    description: Collaborative meeting notes and follow-up documentation.
  - name: WebRTC
    description: Real-time communication, session signalling, and media utilities.
  - name: System
    description: General system endpoints such as health checks and diagnostics.
paths:
  /api/run/meetings/lifecycle/startMeeting:
    post:
      tags:
        - Meetings
      summary: startMeeting
      description: >-
        infrastructure. Supports hybrid architecture: WebRTC for free tier (up
        to 4 participants)

        and GetStream for paid tier (up to 100 participants with recording).
        Only the meeting

        host can start meetings. Provides ICE server configuration for WebRTC or
        schedules

        GetStream room creation. Automatically initializes transcription
        services.
      operationId: postApiRunMeetingsLifecycleStartMeeting
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request_meetings.lifecycle.startMeeting'
            example:
              args:
                meetingId: meeting_123example
        required: true
      responses:
        '200':
          description: Convex executed your request and returned a result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response_meetings.lifecycle.startMeeting'
              example:
                status: success
                errorMessage: ''
                errorData: {}
                value:
                  success: true
                  webrtcReady: true
                  videoProvider: webrtc
                  roomInfo:
                    iceServers:
                      - urls: stun:stun.l.google.com:19302
                      - urls: stun:stun1.l.google.com:19302
        '400':
          description: Failed operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailedResponse'
        '500':
          description: Convex Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailedResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    Request_meetings.lifecycle.startMeeting:
      type: object
      required:
        - args
      properties:
        args:
          type: object
          required:
            - meetingId
          properties:
            meetingId:
              type: string
              description: ID from table "meetings"
    Response_meetings.lifecycle.startMeeting:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - success
            - error
        errorMessage:
          type: string
        errorData:
          type: object
        value:
          type: object
          required:
            - success
            - videoProvider
            - webrtcReady
          properties:
            roomInfo:
              type: object
              properties:
                iceServers:
                  type: array
                  items:
                    type: object
                    required:
                      - urls
                    properties:
                      credential:
                        type: string
                      urls:
                        oneOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                      username:
                        type: string
                roomId:
                  type: string
            success:
              type: boolean
            videoProvider:
              oneOf:
                - type: string
                  enum:
                    - webrtc
                - type: string
                  enum:
                    - getstream
            webrtcReady:
              type: boolean
    FailedResponse:
      type: object
      properties: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Standard user authentication token issued via WorkOS. Provide as
        `Authorization: Bearer <user-token>`.

````