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

# List webhook endpoints

> Lists the webhook subscriptions owned by the authenticated API key's user. Endpoints are scoped per user rather than shared across the workspace. Events are routed to the user context that emits them; playlist.video_added is delivered to the user who adds the video, who may be a playlist editor rather than its owner.



## OpenAPI

````yaml /openapi.json get /v1/webhooks/endpoints
openapi: 3.0.3
info:
  description: >-
    The Tella Public API allows you to programmatically access your videos and
    playlists, including transcripts, chapters, and thumbnails.


    ## Authentication


    All requests require a Bearer token in the Authorization header:

    ```

    Authorization: Bearer tella_pk_xxxxx...

    ```


    API keys can be generated in your Tella workspace settings.


    ## Rate Limiting


    The API is rate-limited to 100 requests per minute per organization.

    Rate limit information is returned in response headers:

    - `X-RateLimit-Limit`: Maximum requests per window

    - `X-RateLimit-Remaining`: Remaining requests in current window

    - `X-RateLimit-Reset`: Unix timestamp when the window resets
  title: Tella Public API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.tella.com
security: []
tags:
  - description: Video operations
    name: Videos
  - description: Sections of a video
    name: Clips
  - description: Playlist operations
    name: Playlists
  - description: Sidebar groups for organizing playlists
    name: Playlist Groups
  - description: Tags for categorizing and filtering videos
    name: Tags
  - description: Webhook endpoint management
    name: Webhooks
paths:
  /v1/webhooks/endpoints:
    get:
      tags:
        - Webhooks
      summary: List webhook endpoints
      description: >-
        Lists the webhook subscriptions owned by the authenticated API key's
        user. Endpoints are scoped per user rather than shared across the
        workspace. Events are routed to the user context that emits them;
        playlist.video_added is delivered to the user who adds the video, who
        may be a playlist editor rather than its owner.
      operationId: listWebhookEndpoints
      parameters:
        - description: Pagination cursor returned by the previous request
          in: query
          name: cursor
          schema:
            description: Pagination cursor returned by the previous request
            type: string
        - description: 'Maximum endpoints to return (default: 20, max: 100)'
          in: query
          name: limit
          schema:
            description: 'Maximum endpoints to return (default: 20, max: 100)'
            example: 20
            maximum: 100
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWebhookEndpointsResponse'
          description: A page of webhook endpoints
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '404':
          $ref: '#/components/responses/404ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    ListWebhookEndpointsResponse:
      additionalProperties: false
      description: A page of webhook subscription endpoints
      properties:
        endpoints:
          items:
            $ref: '#/components/schemas/WebhookEndpoint'
          type: array
        nextCursor:
          description: Cursor for the next page, or null on the final page
          nullable: true
          type: string
      required:
        - endpoints
        - nextCursor
      type: object
    WebhookEndpoint:
      additionalProperties: false
      description: A webhook subscription endpoint
      properties:
        createdAt:
          description: When the endpoint was created
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          type: string
        disabled:
          description: Whether delivery to this endpoint is disabled
          example: false
          type: boolean
        filterTypes:
          description: >-
            Event types delivered to this endpoint, or null when no filter is
            set and every event type is delivered
          example:
            - video.created
            - export.ready
          items:
            type: string
          nullable: true
          type: array
        id:
          description: Unique identifier for the webhook endpoint
          example: ep_abc123def456
          type: string
        updatedAt:
          description: When the endpoint was last updated
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          type: string
        url:
          description: The URL where webhook events are sent
          example: https://example.com/webhooks/tella
          format: uri
          type: string
      required:
        - id
        - url
        - filterTypes
        - disabled
        - createdAt
        - updatedAt
      type: object
    ErrorResponse:
      additionalProperties: false
      description: Standard error response format
      properties:
        error:
          additionalProperties: false
          description: Error details
          properties:
            code:
              description: Machine-readable error code
              enum:
                - bad_request
                - unauthorized
                - forbidden
                - not_found
                - unprocessable_entity
                - rate_limit_exceeded
                - internal_server_error
              example: not_found
              type: string
            doc_url:
              description: Link to documentation for this error
              example: https://tella.tv/docs/api-reference/errors#not-found
              format: uri
              type: string
            message:
              description: Human-readable error message
              example: The requested resource was not found.
              type: string
          required:
            - code
            - message
            - doc_url
          type: object
      required:
        - error
      type: object
  responses:
    400ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: bad_request
              doc_url: https://tella.tv/docs/api-reference/errors#bad-request
              message: The request was malformed or contained invalid parameters.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: The request was malformed or contained invalid parameters.
    401ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: unauthorized
              doc_url: https://tella.tv/docs/api-reference/errors#unauthorized
              message: Authentication is required. Provide a valid API key.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Authentication is required. Provide a valid API key.
    403ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: forbidden
              doc_url: https://tella.tv/docs/api-reference/errors#forbidden
              message: You don't have permission to access this resource.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: You don't have permission to access this resource.
    404ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: not_found
              doc_url: https://tella.tv/docs/api-reference/errors#not-found
              message: The requested resource was not found.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: The requested resource was not found.
    422ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: unprocessable_entity
              doc_url: https://tella.tv/docs/api-reference/errors#unprocessable-entity
              message: The request was well-formed but contained semantic errors.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: The request was well-formed but contained semantic errors.
    429ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: rate_limit_exceeded
              doc_url: https://tella.tv/docs/api-reference/errors#rate-limit-exceeded
              message: You have exceeded the rate limit. Please slow down.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: You have exceeded the rate limit. Please slow down.
    500ErrorResponse:
      content:
        application/json:
          example:
            error:
              code: internal_server_error
              doc_url: https://tella.tv/docs/api-reference/errors#internal-server-error
              message: An unexpected error occurred on the server.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: An unexpected error occurred on the server.
  securitySchemes:
    BearerAuth:
      description: API key obtained from your Tella account settings
      scheme: bearer
      type: http

````