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

# List webhook subscriptions

> Returns the webhook subscriptions of an application, newest first, with pagination metadata.



## OpenAPI

````yaml GET /prompt-application/{id}/webhooks
openapi: 3.0.1
info:
  title: Tela API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.tela.com
security: []
paths:
  /prompt-application/{id}/webhooks:
    get:
      tags:
        - Webhook
      summary: List webhook subscriptions
      description: >-
        Returns the webhook subscriptions of an application, newest first, with
        pagination metadata.
      operationId: listWebhooks
      parameters:
        - $ref: '#/components/parameters/WebhookPromptApplicationIdPath'
        - name: isActive
          in: query
          required: false
          description: Filter by active state.
          schema:
            type: boolean
        - name: eventType
          in: query
          required: false
          description: Only return webhooks subscribed to this event.
          schema:
            $ref: '#/components/schemas/WebhookEventType'
        - $ref: '#/components/parameters/WebhookLimitQuery'
        - $ref: '#/components/parameters/WebhookOffsetQuery'
        - name: objectLinks
          in: query
          required: false
          description: >-
            When `true`, `meta.links` are returned as objects instead of query
            strings.
          schema:
            type: boolean
            default: false
        - name: page
          in: query
          required: false
          deprecated: true
          description: Accepted for compatibility but ignored; use `offset`.
          schema:
            type: string
      responses:
        '200':
          description: Paginated webhook subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookListResponse'
        '400':
          $ref: '#/components/responses/WebhookBadRequest'
        '401':
          $ref: '#/components/responses/WebhookUnauthorized'
        '403':
          $ref: '#/components/responses/WebhookForbidden'
        '404':
          description: Application not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          $ref: '#/components/responses/WebhookValidationError'
      security:
        - bearerAuth: []
components:
  parameters:
    WebhookPromptApplicationIdPath:
      name: id
      in: path
      required: true
      description: Workstation application ID
      schema:
        type: string
        format: uuid
    WebhookLimitQuery:
      name: limit
      in: query
      required: false
      description: Page size. Defaults to 10, clamped to 1–100.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    WebhookOffsetQuery:
      name: offset
      in: query
      required: false
      description: Number of items to skip. Defaults to 0.
      schema:
        type: integer
        minimum: 0
        default: 0
  schemas:
    WebhookEventType:
      type: string
      enum:
        - task.completed
        - task.approved
        - task.approval-revoke
        - task.failed
      description: >
        Events a webhook can subscribe to:

        - `task.completed` — a task run finished successfully and is ready for
        review.

        - `task.approved` — a task was reviewed and approved.

        - `task.approval-revoke` — an approved task was sent back to
        `validating`.

        - `task.failed` — a task run ended with a failure (`errorMessage` is set
        in the payload).
    WebhookListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Webhook'
        meta:
          $ref: '#/components/schemas/WebhookPaginationMeta'
      required:
        - data
        - meta
      example:
        data:
          - id: 7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a
            promptApplicationId: c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f
            name: ERP sync
            url: https://erp.example.com/hooks/tela
            events:
              - task.completed
              - task.approved
            headers:
              authorization: Bearer erp-webhook-token
            sensitiveHeaders:
              - authorization
            method: POST
            isActive: true
            createdAt: '2025-06-10T08:00:00.000Z'
            updatedAt: '2025-06-10T08:00:00.000Z'
            deletedAt: null
        meta:
          totalCount: 1
          limit: 10
          offset: 0
          currentPage: 1
          totalPages: 1
          links:
            first: '?limit=10&offset=0'
            last: '?limit=10&offset=0'
            next: null
            previous: null
    Error: {}
    Webhook:
      type: object
      description: A webhook subscription of a Workstation application.
      properties:
        id:
          type: string
          format: uuid
        promptApplicationId:
          type: string
          format: uuid
          nullable: true
          description: Application the webhook belongs to.
        name:
          type: string
          maxLength: 256
        url:
          type: string
          maxLength: 2048
          description: Endpoint that receives the events.
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        headers:
          type: object
          nullable: true
          additionalProperties:
            type: string
          description: >-
            Headers sent verbatim with every delivery. Use them for
            authentication (for example `authorization` or `x-api-key`).
        sensitiveHeaders:
          type: array
          items:
            type: string
          description: >-
            Names of headers considered sensitive. Stored as provided; the API
            does not currently mask them in responses.
        method:
          type: string
          nullable: true
          maxLength: 10
          description: HTTP method used for deliveries. Defaults to `POST`.
        isActive:
          type: boolean
          description: Inactive webhooks receive no deliveries.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        deletedAt:
          type: string
          format: date-time
          nullable: true
      required:
        - id
        - promptApplicationId
        - name
        - url
        - events
        - headers
        - sensitiveHeaders
        - method
        - isActive
        - createdAt
        - updatedAt
        - deletedAt
      example:
        id: 7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a
        promptApplicationId: c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f
        name: ERP sync
        url: https://erp.example.com/hooks/tela
        events:
          - task.completed
          - task.approved
        headers:
          authorization: Bearer erp-webhook-token
          x-source: tela
        sensitiveHeaders:
          - authorization
        method: POST
        isActive: true
        createdAt: '2025-06-10T08:00:00.000Z'
        updatedAt: '2025-06-10T08:00:00.000Z'
        deletedAt: null
    WebhookPaginationMeta:
      type: object
      properties:
        totalCount:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        currentPage:
          type: integer
        totalPages:
          type: integer
        lastReference:
          type: integer
        links:
          type: object
          description: >-
            Query strings for the neighbouring pages, or objects when links are
            returned in object form.
          properties:
            first:
              oneOf:
                - type: string
                - type: object
            last:
              oneOf:
                - type: string
                - type: object
            next:
              nullable: true
              oneOf:
                - type: string
                - type: object
            previous:
              nullable: true
              oneOf:
                - type: string
                - type: object
          required:
            - first
            - last
            - next
            - previous
      required:
        - totalCount
        - limit
        - offset
        - currentPage
        - totalPages
        - links
  responses:
    WebhookBadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    WebhookUnauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    WebhookForbidden:
      description: The key does not have the required role
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    WebhookValidationError:
      description: Request body or query failed schema validation (`code` is `VALIDATION`)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or UUID

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.