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

# List webhooks

> List HTTPS endpoints registered for video completion and spend-alert callbacks. Console: https://www.ninjachat.ai/developers/webhooks



## OpenAPI

````yaml /openapi.json get /webhooks
openapi: 3.1.0
info:
  title: NinjaChat API
  version: 1.0.0
  description: >-
    Clean-break NinjaChat v1. Chat and Responses bill actual token usage; images
    and videos use catalog unit pricing.
servers:
  - url: https://www.ninjachat.ai/api/v1
security: []
paths:
  /webhooks:
    get:
      summary: List webhooks
      description: >-
        List HTTPS endpoints registered for video completion and spend-alert
        callbacks. Console: https://www.ninjachat.ai/developers/webhooks
      responses:
        '200':
          description: Registered webhook endpoints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookListResponse'
        '400':
          description: Invalid or unsupported request parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Insufficient balance or project spend limit reached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Gateway error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: javascript
          label: TypeScript SDK
          source: >-
            import { NinjaChat } from "@ninjachat/sdk";


            const client = new NinjaChat({ apiKey:
            process.env.NINJACHAT_API_KEY! });

            const endpoints = await client.webhooks.list();


            console.log(endpoints);
        - lang: python
          label: Python SDK
          source: |-
            import os
            from ninjachat import NinjaChat

            client = NinjaChat(api_key=os.environ["NINJACHAT_API_KEY"])
            endpoints = client.webhooks.list()

            print(endpoints)
components:
  schemas:
    WebhookListResponse:
      type: object
      properties:
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEndpoint'
      required:
        - endpoints
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
            code:
              type: string
            param:
              type:
                - string
                - 'null'
          required:
            - message
            - type
            - code
          additionalProperties: false
      required:
        - error
      additionalProperties: false
    WebhookEndpoint:
      type: object
      properties:
        id:
          type: string
        url:
          type: string
          format: uri
        destination:
          type: string
          enum:
            - webhook
            - discord
            - slack
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEvent'
        secret_hint:
          type: string
        created_at:
          type: string
          format: date-time
      required:
        - id
        - url
        - events
        - secret_hint
        - created_at
      additionalProperties: false
    WebhookEvent:
      type: string
      enum:
        - video.completed
        - video.failed
        - pipeline.completed
        - pipeline.failed
        - request.failed
        - budget.alert
        - balance.low
        - balance.exhausted
        - credits.added
        - auto_recharge.failed
        - key.created
        - key.revoked
        - budget.updated
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: NinjaChat API key
      description: Use an API key created in the NinjaChat developer console.

````