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

# List Webhooks

> Mixin for organization access validation.

Automatically resolves and validates organization access on every request,
making the organization available as self.organization.

For API key auth:  organization is derived from the key (no org_id param needed).
For user auth:     organization_id must be provided in the request
                   (kwargs / headers / body / query params).

Usage:
    class MyView(BaseOrganizationAccessMixin, APIView):
        def get(self, request):
            # self.organization is automatically available
            return Response({"org": self.organization.name})



## OpenAPI

````yaml GET /webhooks/
openapi: 3.1.0
info:
  title: Roe AI API
  version: 1.0.0
  description: Complete API documentation for Roe AI platform
servers:
  - url: https://api.roe-ai.com
    description: Production API
security: []
paths:
  /webhooks/:
    get:
      tags:
        - webhooks
      description: >-
        Mixin for organization access validation.


        Automatically resolves and validates organization access on every
        request,

        making the organization available as self.organization.


        For API key auth:  organization is derived from the key (no org_id param
        needed).

        For user auth:     organization_id must be provided in the request
                           (kwargs / headers / body / query params).

        Usage:
            class MyView(BaseOrganizationAccessMixin, APIView):
                def get(self, request):
                    # self.organization is automatically available
                    return Response({"org": self.organization.name})
      operationId: webhooks_list
      parameters:
        - in: query
          name: organization_id
          schema:
            type: string
            format: uuid
          description: >-
            Organization ID. Required for JWT auth; inferred from API key when
            using an Organization API Key.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
          description: ''
      security:
        - jwtAuth: []
      x-codeSamples:
        - lang: Python
          source: |
            import requests

            response = requests.get(
                "https://api.roe-ai.com/webhooks/",
                headers={"Authorization": "Bearer YOUR_API_KEY"}
            )
            webhooks = response.json()
            for webhook in webhooks:
                print(f"{webhook['name']}: {webhook['url']}")
        - lang: TypeScript
          source: |
            const response = await fetch("https://api.roe-ai.com/webhooks/", {
              headers: { "Authorization": "Bearer YOUR_API_KEY" }
            });
            const webhooks = await response.json();
            console.log(webhooks);
        - lang: cURL
          source: |
            curl -X GET "https://api.roe-ai.com/webhooks/" \
              -H "Authorization: Bearer YOUR_API_KEY"
components:
  schemas:
    Webhook:
      type: object
      description: Serializer for Webhook model
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          description: User-friendly name for this webhook
          maxLength: 255
        url:
          type: string
          format: uri
          description: Webhook endpoint URL
          maxLength: 500
        secret:
          type: string
          maxLength: 255
        headers:
          type: object
          additionalProperties:
            type: string
          description: Custom headers to include in webhook requests (key-value pairs)
        events:
          type: array
          items:
            type: string
          description: List of events to trigger this webhook (e.g., ['triggered'])
        is_active:
          type: boolean
        alerts:
          type: array
          items:
            type: string
          description: Alert IDs
          readOnly: true
        last_triggered_at:
          type: string
          format: date-time
        last_success_at:
          type: string
          format: date-time
        last_failure_at:
          type: string
          format: date-time
        failure_count:
          type: integer
          readOnly: true
          description: Number of consecutive failures
        created_by:
          type: integer
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
      required:
        - alerts
        - created_at
        - created_by
        - failure_count
        - id
        - name
        - updated_at
        - url
  securitySchemes:
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````