Gong Meetings API

The Gong Meetings API provides endpoints to create, update, and delete Gong meetings, as well as validate meeting integration status for scheduling and managing meeting workflows.

OpenAPI Specification

gong-meetings-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Gong Meetings API
  description: >-
    The Gong Meetings API provides endpoints to create, update, and delete Gong
    meetings, as well as validate meeting integration status for scheduling and
    managing meeting workflows.
  version: 2.0.0
  contact:
    name: Gong
    url: https://www.gong.io
    email: [email protected]
  license:
    name: Proprietary
    url: https://www.gong.io/terms-of-service/
  termsOfService: https://www.gong.io/terms-of-service/
servers:
  - url: https://api.gong.io/v2
    description: Gong API v2 Production Server
security:
  - basicAuth: []
  - bearerAuth: []
tags:
  - name: Meetings
    description: Operations for managing meetings
paths:
  /meetings:
    post:
      operationId: createMeeting
      summary: Create a Gong meeting
      description: >-
        Creates a new meeting in Gong with the specified details including
        participants, scheduling information, and meeting configuration.
      tags:
        - Meetings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMeetingRequest'
      responses:
        '201':
          description: Meeting successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingResponse'
        '400':
          description: Bad request due to invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /meetings/{meetingId}:
    put:
      operationId: updateMeeting
      summary: Update a Gong meeting
      description: >-
        Updates an existing Gong meeting with new details such as updated
        scheduling, participants, or meeting configuration.
      tags:
        - Meetings
      parameters:
        - name: meetingId
          in: path
          required: true
          description: The unique identifier of the meeting to update.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMeetingRequest'
      responses:
        '200':
          description: Meeting successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingResponse'
        '400':
          description: Bad request due to invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Meeting not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteMeeting
      summary: Delete a Gong meeting
      description: >-
        Removes a specific meeting from Gong using its unique meeting ID.
        This operation is irreversible.
      tags:
        - Meetings
      parameters:
        - name: meetingId
          in: path
          required: true
          description: The unique identifier of the meeting to delete.
          schema:
            type: string
      responses:
        '200':
          description: Meeting successfully deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
        '401':
          description: Unauthorized - invalid or missing authentication credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Meeting not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /meetings/integration-status:
    post:
      operationId: validateMeetingIntegrationStatus
      summary: Gong Validate meeting integration status
      description: >-
        Validates the integration status for a meeting, checking whether the
        meeting system integration is properly configured and operational.
      tags:
        - Meetings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MeetingIntegrationStatusRequest'
      responses:
        '200':
          description: >-
            Successful response containing the meeting integration status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingIntegrationStatusResponse'
        '400':
          description: Bad request due to invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Basic authentication using your Gong API access key and secret. Format:
        base64(access_key:access_secret).
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer token authentication.
  schemas:
    CreateMeetingRequest:
      type: object
      required:
        - title
        - scheduledStart
        - scheduledEnd
        - organizerEmail
      properties:
        title:
          type: string
          description: Title of the meeting.
        scheduledStart:
          type: string
          format: date-time
          description: Scheduled start time of the meeting in ISO-8601 format.
        scheduledEnd:
          type: string
          format: date-time
          description: Scheduled end time of the meeting in ISO-8601 format.
        organizerEmail:
          type: string
          format: email
          description: Email of the meeting organizer.
        meetingUrl:
          type: string
          format: uri
          description: URL of the meeting (conferencing link).
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/MeetingAttendee'
          description: List of meeting attendees.
        description:
          type: string
          description: Description or agenda for the meeting.
        meetingProvider:
          type: string
          description: >-
            The meeting provider (e.g., Zoom, Google Meet, Microsoft Teams).
        externalMeetingId:
          type: string
          description: >-
            External meeting ID from the conferencing system.
    UpdateMeetingRequest:
      type: object
      properties:
        title:
          type: string
          description: Updated title of the meeting.
        scheduledStart:
          type: string
          format: date-time
          description: Updated scheduled start time.
        scheduledEnd:
          type: string
          format: date-time
          description: Updated scheduled end time.
        meetingUrl:
          type: string
          format: uri
          description: Updated meeting URL.
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/MeetingAttendee'
          description: Updated list of attendees.
        description:
          type: string
          description: Updated meeting description.
    MeetingAttendee:
      type: object
      properties:
        emailAddress:
          type: string
          format: email
          description: The attendee's email address.
        name:
          type: string
          description: The attendee's display name.
        responseStatus:
          type: string
          enum:
            - Accepted
            - Declined
            - Tentative
            - NeedsAction
          description: The attendee's RSVP response status.
    MeetingResponse:
      type: object
      properties:
        requestId:
          type: string
          description: A unique identifier for the request.
        meetingId:
          type: string
          description: The Gong-assigned meeting identifier.
        meeting:
          type: object
          properties:
            id:
              type: string
              description: Unique meeting identifier.
            title:
              type: string
              description: Title of the meeting.
            scheduledStart:
              type: string
              format: date-time
              description: Scheduled start time.
            scheduledEnd:
              type: string
              format: date-time
              description: Scheduled end time.
            organizerEmail:
              type: string
              format: email
              description: Email of the organizer.
            meetingUrl:
              type: string
              format: uri
              description: Meeting URL.
            attendees:
              type: array
              items:
                $ref: '#/components/schemas/MeetingAttendee'
    MeetingIntegrationStatusRequest:
      type: object
      properties:
        meetingProvider:
          type: string
          description: The meeting provider to check (e.g., Zoom, Google Meet).
        userEmail:
          type: string
          format: email
          description: Email of the user to check integration for.
    MeetingIntegrationStatusResponse:
      type: object
      properties:
        requestId:
          type: string
          description: A unique identifier for the request.
        isIntegrated:
          type: boolean
          description: Whether the meeting integration is properly configured.
        provider:
          type: string
          description: The meeting provider checked.
        status:
          type: string
          enum:
            - Active
            - Inactive
            - Error
          description: Current status of the integration.
        details:
          type: string
          description: Additional details about the integration status.
    BaseResponse:
      type: object
      properties:
        requestId:
          type: string
          description: A unique identifier for the request.
    ErrorResponse:
      type: object
      properties:
        requestId:
          type: string
          description: A unique identifier for the request.
        errors:
          type: array
          items:
            type: string
          description: List of error messages.