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

# List calendar connections

> A workspace's calendar connections, oldest first, including disconnected ones.



## OpenAPI

````yaml /openapi.yaml get /calendar_connections
openapi: 3.1.0
info:
  title: MeetingKit API
  description: >
    The MeetingKit API lets you build a meetings feature into your product:
    users connect

    a calendar, a notetaker joins their calls, and you get the transcript,
    speakers and

    summary of each meeting.
  version: '2026-10-12'
  contact:
    name: MeetingKit Developer Support
    email: dev@happyscribe.co
servers:
  - url: https://api.meetingkit.com/api/v1
security:
  - apiKeyAuth: []
tags:
  - name: Agent sessions
    description: Exchange the code a user hands their AI agent for API credentials.
  - name: Uploads
    description: Get signed URLs to upload media files directly to MeetingKit storage.
  - name: Transcribe
    description: Create transcription orders from media URLs.
  - name: Subtitle
    description: Create subtitling orders from media URLs.
  - name: Translate
    description: Create translation orders from existing conversations.
  - name: Orders
    description: Retrieve and confirm the orders created by the service endpoints.
  - name: Conversations
    description: List, retrieve, update, and delete conversations.
  - name: Exports
    description: Export conversations to text, subtitle, video-editing, and data formats.
  - name: Bots
    description: Send a notetaker bot to Zoom, Google Meet, or Microsoft Teams calls.
  - name: Glossaries
    description: List glossaries to apply custom terminology to orders.
  - name: Style guides
    description: List style guides to apply formatting preferences to orders.
  - name: Workspaces
    description: List the workspaces the authenticated user belongs to.
  - name: Organization memberships
    description: Manage which users belong to a workspace.
  - name: Members
    description: A partner's end users inside a workspace (MeetingKit).
  - name: Meetings
    description: >-
      Every meeting of a workspace, from calendars and bots, with its results
      (MeetingKit).
  - name: Calendar connections
    description: >-
      Members' Google and Microsoft calendars, connected through a hosted
      consent link and synced by MeetingKit.
  - name: Calendar events
    description: Calendar events a partner pushes from its own calendar sync (MeetingKit).
  - name: Settings
    description: >-
      What gets recorded and how, as values you assign to a workspace, a member,
      a meeting category or one meeting (MeetingKit).
  - name: Settings assignments
    description: Where settings apply (MeetingKit).
  - name: Files
    description: Images uploaded to a workspace, to use in a brand kit (MeetingKit).
  - name: Webhook endpoints
    description: Register the receivers of a workspace's webhooks, and test them.
  - name: Webhook events
    description: >-
      The webhooks sent to a workspace's endpoints, how each delivery went, and
      redelivery.
  - name: People
    description: >-
      Language Services. People found in your transcripts (Memory API, private
      beta).
  - name: Companies
    description: >-
      Language Services. Companies found in your transcripts (Memory API,
      private beta).
paths:
  /calendar_connections:
    get:
      tags:
        - Calendar connections
      summary: List calendar connections
      description: >-
        A workspace's calendar connections, oldest first, including disconnected
        ones.
      operationId: listCalendarConnections
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
        - name: member_id
          in: query
          description: Only this member's connections.
          schema:
            type: string
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: One page of calendar connections.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarConnectionList'
        '400':
          description: >-
            Missing `workspace_id`, or a `limit` or `cursor` that cannot be
            read, or `page` or `per_page`, which lists don't take.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: >-
            Missing or invalid API key, or the key is not an owner or admin of
            the workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: The workspace or the member is not one the key can see.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
components:
  parameters:
    WorkspaceIdQuery:
      name: workspace_id
      in: query
      required: true
      description: >-
        Workspace ID, beginning with `wks_`. Treat it as an opaque string.
        Integer workspace ids are still accepted.
      schema:
        type: string
        example: wks_01k6a2r9s8x7c2dvq3m5n6p4ab
    Limit:
      name: limit
      in: query
      description: Page size, 1 to 100.
      schema:
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    Cursor:
      name: cursor
      in: query
      description: Opaque. Follow `_links.next.url` rather than building it.
      schema:
        type: string
  schemas:
    CalendarConnectionList:
      type: object
      properties:
        object:
          type: string
          description: Always `list`.
        data:
          description: |
            The calendar connections on this page.
          type: array
          items:
            $ref: '#/components/schemas/CalendarConnection'
        has_more:
          description: |
            Whether more results follow this page.
          type: boolean
        _links:
          description: |
            Pagination links.
          type: object
          properties:
            next:
              description: |
                The next page. Absent on the last page.
              type: object
              properties:
                url:
                  description: |
                    The next page, with the same filters.
                  type: string
    Errors:
      type: object
      required:
        - errors
      description: >
        Every error the API returns, `401` and `429` included. See
        [Errors](/api-reference/errors).
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        retry_in_seconds:
          type: integer
          description: >-
            On `429`, how long to wait before retrying. Also sent as
            `Retry-After`.
      example:
        errors:
          - code: invalid
            field: recording.methods.bot.mode
            message: 'must be one of: audio_and_video, audio_only, inherit'
    CalendarConnection:
      type: object
      properties:
        id:
          type: string
          description: Stable typed ID beginning with `cal_`. Treat it as an opaque string.
        object:
          type: string
          description: Always `calendar_connection`.
        workspace_id:
          type: string
          description: Workspace ID, beginning with `wks_`. Treat it as an opaque string.
          example: wks_01k6a2r9s8x7c2dvq3m5n6p4ab
        member_id:
          description: |
            The member whose calendar this is.
          type: string
        provider:
          description: |
            The connected calendar.

            - `google`: Google Calendar.
            - `microsoft`: Microsoft Outlook calendar.
          type: string
          enum:
            - google
            - microsoft
        status:
          description: >
            - `active`: syncing.

            - `error`: the account stopped granting access; send the member a
            new connect link.

            - `disconnected`: disconnected by you or in MeetingKit, or the
            member was removed.
          type: string
          enum:
            - active
            - error
            - disconnected
        account_email:
          type: string
          nullable: true
          description: The email of the connected Google or Microsoft account.
        error:
          description: >
            Why the connection stopped working, while `status` is `error`;
            otherwise `null`.
          type: object
          nullable: true
          properties:
            code:
              description: |
                A stable code, such as `access_revoked`.
              type: string
            message:
              description: |
                What happened, and what to do.
              type: string
        connected_at:
          description: |
            When the member last finished consent, in ISO 8601.
          type: string
          format: date-time
          nullable: true
        last_synced_at:
          description: |
            When the calendar last synced, in ISO 8601.
          type: string
          format: date-time
          nullable: true
        created_at:
          description: |
            When the connection was first made, in ISO 8601.
          type: string
          format: date-time
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: >-
            A stable snake_case word, safe to branch on. See
            [Errors](/api-reference/errors) for the list.
        message:
          type: string
          description: A sentence for humans. It may change; do not parse it.
        field:
          type: string
          description: >-
            The dotted path to the request field at fault, such as
            `recording.methods.bot.mode`. Present only when one field is.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key, sent bare. See
        [Authentication](/api-reference/authentication).

````