> ## Documentation Index
> Fetch the complete documentation index at: https://payload-storage-bunny.seshuk.im/llms.txt
> Use this file to discover all available pages before exploring further.

# Bunny Stream encoding-status webhook

> Receives encoding-status callbacks from Bunny Stream. On completion (with `mp4Fallback` enabled) the plugin fills in `bunnyData.stream.resolutions`. Authenticated by an HMAC signature, not a Payload session. Set the webhook URL in your Bunny Stream library to this path. See [Webhooks](/configuration/stream/webhooks).



## OpenAPI

````yaml /api-reference/openapi.json post /api/storage-bunny/stream/webhook
openapi: 3.1.0
info:
  description: >-
    HTTP endpoints the plugin registers on your Payload app under `/api`. The
    admin UI calls these for you; document and drive them yourself only if you
    build a custom upload flow.
  title: Payload Storage Bunny — Plugin API
  version: 3.0.0
servers:
  - description: Your Payload app origin
    url: https://your-site.com
security:
  - payloadToken: []
paths:
  /api/storage-bunny/stream/webhook:
    post:
      tags:
        - Bunny Stream
      summary: Bunny Stream encoding-status webhook
      description: >-
        Receives encoding-status callbacks from Bunny Stream. On completion
        (with `mp4Fallback` enabled) the plugin fills in
        `bunnyData.stream.resolutions`. Authenticated by an HMAC signature, not
        a Payload session. Set the webhook URL in your Bunny Stream library to
        this path. See [Webhooks](/configuration/stream/webhooks).
      parameters:
        - description: >-
            Lowercase-hex HMAC-SHA256 of the exact raw request body, keyed by
            the library's Read-Only API key (`stream.webhook.secret`).
          in: header
          name: X-BunnyStream-Signature
          required: true
          schema:
            type: string
        - description: Signature scheme version. Must be `v1`.
          in: header
          name: X-BunnyStream-Signature-Version
          required: true
          schema:
            enum:
              - v1
            type: string
        - description: Signature algorithm. Must be `hmac-sha256`.
          in: header
          name: X-BunnyStream-Signature-Algorithm
          required: true
          schema:
            enum:
              - hmac-sha256
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Status:
                  description: Bunny encoding status code.
                  type: number
                VideoGuid:
                  description: Bunny video GUID.
                  type: string
                VideoLibraryId:
                  description: Bunny Stream library ID.
                  type: number
              required:
                - Status
                - VideoGuid
                - VideoLibraryId
              type: object
        required: true
      responses:
        '200':
          description: Acknowledged.
        '400':
          description: Invalid payload.
        '401':
          description: >-
            Missing or invalid signature, or unsupported signature
            version/algorithm.
        '403':
          description: Library ID not configured on this app.
      security: []
components:
  securitySchemes:
    payloadToken:
      description: >-
        Payload authentication cookie. These endpoints run Payload access
        control; an authenticated admin session is required.
      in: cookie
      name: payload-token
      type: apiKey

````