> ## 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 webhook endpoints

> The webhook endpoints of the workspaces the key administers, oldest first, including the
ones added in **Settings → Webhooks**. The signing secret is never listed.




## OpenAPI

````yaml /openapi.yaml get /webhook_endpoints
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:
  /webhook_endpoints:
    get:
      tags:
        - Webhook endpoints
      summary: List webhook endpoints
      description: >
        The webhook endpoints of the workspaces the key administers, oldest
        first, including the

        ones added in **Settings → Webhooks**. The signing secret is never
        listed.
      operationId: listWebhookEndpoints
      parameters:
        - name: workspace_id
          in: query
          description: >-
            Only this workspace's endpoints. A `wks_` id; integer workspace ids
            are still accepted.
          schema:
            type: string
            example: wks_01k6a2r9s8x7c2dvq3m5n6p4ab
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: One page of webhook endpoints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointList'
        '400':
          description: >-
            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':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: >-
            The key belongs to `workspace_id` but is not an owner or admin of it
            (`workspace_update_not_allowed`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: '`workspace_id` is not a workspace the key belongs to.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
components:
  parameters:
    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:
    WebhookEndpointList:
      type: object
      properties:
        object:
          type: string
          description: Always `list`.
        data:
          description: |
            The webhook endpoints on this page.
          type: array
          items:
            $ref: '#/components/schemas/WebhookEndpoint'
        has_more:
          description: |
            Whether more results follow this page.
          type: boolean
        _links:
          type: object
          description: Empty on the last page.
          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
                  format: uri
    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'
    WebhookEndpoint:
      type: object
      properties:
        id:
          type: string
          description: >-
            Webhook endpoint ID, beginning with `whe_`. Treat it as an opaque
            string.
          example: whe_01k6d4a1b2c3d4e5f6g7h8j9km
        object:
          type: string
          description: Always `webhook_endpoint`.
        workspace_id:
          type: string
          description: Workspace ID, beginning with `wks_`. Treat it as an opaque string.
          example: wks_01k6a2r9s8x7c2dvq3m5n6p4ab
        name:
          type: string
          description: Defaults to the URL's host.
          example: Acme production
        url:
          description: |
            The public HTTPS URL events are sent to.
          type: string
          format: uri
          example: https://api.acme.com/meetingkit/webhooks
        enabled_events:
          type: array
          description: >-
            The events it receives, named as its `api_version` names them. `*`
            is every event.
          items:
            type: string
          example:
            - meeting.finished
            - bot.summary_ready
        status:
          description: >
            Whether it receives events.


            - `enabled`: receives events.

            - `disabled`: receives nothing; disabling cancels its pending
            deliveries.
          type: string
          enum:
            - enabled
            - disabled
        api_version:
          type: string
          format: date
          description: The version its events are named and shaped at.
          example: '2026-10-09'
        metadata:
          $ref: '#/components/schemas/Metadata'
        created_at:
          description: |
            When it was created, in ISO 8601.
          type: string
          format: date-time
        updated_at:
          description: |
            When it last changed, 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.
    Metadata:
      type: object
      description: >
        Your own key-value pairs, for your ids and context. MeetingKit stores
        them, returns them on

        the object and in every webhook that carries it, and never acts on them.
        Up to 50 keys of up

        to 40 characters (no square brackets), values up to 500 characters. See

        [metadata](/meetingkit/setup#a-workspace-per-customer).
      maxProperties: 50
      propertyNames:
        minLength: 1
        maxLength: 40
        pattern: ^[^\[\]]+$
      additionalProperties:
        type: string
        maxLength: 500
      example:
        gurusup_user_id: usr_8812
  responses:
    Unauthorized:
      description: >-
        Your API key is missing (`missing_api_key`) or wrong
        (`invalid_api_key`), or it may not access this resource
        (`unauthorized`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key, sent bare. See
        [Authentication](/api-reference/authentication).

````