# List webhooks

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /hook/list:
    get:
      summary: List webhooks
      deprecated: false
      description: >-
        Retrieves a list of all webhooks for the specified workspace. The
        `workspace_id` must be provided as a query parameter.
      operationId: Webhook_webhook/list-webhooks
      tags:
        - Webhook
        - Webhook
      parameters:
        - name: workspace_id
          in: query
          description: The ID of the workspace.
          required: true
          schema:
            type: string
            description: The ID of the workspace.
            default: ''
            examples:
              - 65099a0dd96fae8ab61130c0
        - name: x-api-key
          in: header
          description: |
            Your PlusVibe.ai account's API Key
          required: false
          example: ''
          schema:
            type: string
            description: |
              Your PlusVibe.ai account's API Key
            default: ''
            examples:
              - your api key
      responses:
        '200':
          description: A JSON object containing all webhook information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  hooks:
                    type: array
                    description: ''
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Unique webhook ID.
                          examples:
                            - 675fb344e5c1f6922e9f9eba
                        workspace_id:
                          type: string
                          description: The workspace ID this webhook belongs to.
                          examples:
                            - 675fb344e5c1f6922e9f9ebb
                        org_id:
                          type: string
                          description: The organization ID.
                          examples:
                            - 675fb344e5c1f6922e9f9ebc
                        url:
                          type: string
                          description: The URL where webhook events are sent.
                          examples:
                            - https://webhook-destination.com
                        name:
                          type: string
                          description: A descriptive name for the webhook.
                          examples:
                            - Webhook Name
                        secret:
                          type: string
                          description: Optional secret for webhook.
                        camp_ids:
                          type: array
                          description: List of campaign IDs or `ALL`.
                          items:
                            type: object
                            properties: {}
                            x-apidog-orders: []
                        evt_types:
                          type: array
                          description: The event types that trigger this webhook.
                          items:
                            type: object
                            properties: {}
                            x-apidog-orders: []
                        status:
                          type: string
                          description: Current webhook status (ACTIVE/INACTIVE/etc.).
                          examples:
                            - ACTIVE
                        integration_type:
                          type: string
                          description: '"" for regular webhooks, or "slack" for Slack.'
                        ignore_ooo:
                          type: integer
                          description: 1 to ignore out of office replies, 0 otherwise.
                          examples:
                            - 1
                        ignore_automatic:
                          type: integer
                          description: 1 to ignore automatic replies, 0 otherwise.
                          examples:
                            - 1
                        created_at:
                          type: string
                          description: Timestamp the webhook was created.
                          format: date-time
                          examples:
                            - '2024-12-16T04:57:40.254Z'
                        modified_at:
                          type: string
                          description: Timestamp the webhook was last modified.
                          format: date-time
                          examples:
                            - '2024-12-16T04:57:40.254Z'
                        last_run:
                          type: string
                          description: Timestamp of last run.
                          examples:
                            - 'null'
                        last_resp:
                          type: string
                          description: Last response sent.
                          examples:
                            - 'null'
                        last_recv_resp:
                          type: string
                          description: Last response received.
                          examples:
                            - 'null'
                        created_by:
                          type: string
                          description: ID of the user who created the webhook.
                          examples:
                            - 65099a0dd96fae8ab61130c1
                        modified_by:
                          type: string
                          description: ID of the user who last modified the webhook.
                          examples:
                            - 65099a0dd96fae8ab61130c1
                      x-apidog-orders:
                        - _id
                        - workspace_id
                        - org_id
                        - url
                        - name
                        - secret
                        - camp_ids
                        - evt_types
                        - status
                        - integration_type
                        - ignore_ooo
                        - ignore_automatic
                        - created_at
                        - modified_at
                        - last_run
                        - last_resp
                        - last_recv_resp
                        - created_by
                        - modified_by
                x-apidog-orders:
                  - hooks
          headers: {}
          x-apidog-name: OK
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties: {}
                x-apidog-orders: []
          headers: {}
          x-apidog-name: Unauthorized
      security:
        - ApiKeyAuth: []
          x-apidog:
            schemeGroups:
              - id: uS5KiuC4wfZHK42AzOfA_
                schemeIds:
                  - ApiKeyAuth
            required: true
            use:
              id: uS5KiuC4wfZHK42AzOfA_
            scopes:
              uS5KiuC4wfZHK42AzOfA_:
                ApiKeyAuth: []
      x-apidog-folder: Webhook
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/929054/apis/api-17238034-run
components:
  schemas: {}
  securitySchemes:
    ApiKeyAuth:
      type: apikey
      in: header
      name: x-api-key
      description: |
        API key issued in the PlusVibe dashboard. The server reads it
        from the `x-api-key` header and injects it into the request as
        the `api_key` query parameter, which is why you will see
        `api_key` referenced in validation errors.
    apiKey:
      type: apikey
      in: body
      name: api_key
      description: API key passed in request body
servers:
  - url: https://api.plusvibe.ai/api/v1
    description: Prod Env
security:
  - ApiKeyAuth: []
    x-apidog:
      schemeGroups:
        - id: uS5KiuC4wfZHK42AzOfA_
          schemeIds:
            - ApiKeyAuth
      required: true
      use:
        id: uS5KiuC4wfZHK42AzOfA_
      scopes:
        uS5KiuC4wfZHK42AzOfA_:
          ApiKeyAuth: []

```
