> ## Documentation Index
> Fetch the complete documentation index at: https://allhandsai-chore-regenerate-agent-sdk-openapi.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Canvas Extension Bundle Endpoint

> Serve an installed canvas extension's entrypoint bundle file.

Entrypoint containment is re-validated against the live install path on
every request, not just at install time -- see
``get_canvas_extension_bundle_path``. ``Cache-Control: no-cache`` forces
revalidation on each request, so a client never keeps serving a bundle
from before the extension's last refresh: the actual bytes are re-read
from disk, and Starlette's file-stat-based ``ETag``/``Last-Modified``
change the moment the on-disk revision does.



## OpenAPI

````yaml /openapi/agent-sdk.json get /api/canvas-extensions/installed/{extension_name}/bundle
openapi: 3.1.0
info:
  description: OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent
  title: OpenHands Agent Server
  version: 1.52.0
servers: []
security: []
paths:
  /api/canvas-extensions/installed/{extension_name}/bundle:
    get:
      tags:
        - Canvas Extensions
      summary: Get Canvas Extension Bundle Endpoint
      description: |-
        Serve an installed canvas extension's entrypoint bundle file.

        Entrypoint containment is re-validated against the live install path on
        every request, not just at install time -- see
        ``get_canvas_extension_bundle_path``. ``Cache-Control: no-cache`` forces
        revalidation on each request, so a client never keeps serving a bundle
        from before the extension's last refresh: the actual bytes are re-read
        from disk, and Starlette's file-stat-based ``ETag``/``Last-Modified``
        change the moment the on-disk revision does.
      operationId: >-
        get_canvas_extension_bundle_endpoint_api_canvas_extensions_installed__extension_name__bundle_get
      parameters:
        - description: Canvas extension name (lowercase alphanumeric, hyphens)
          in: path
          name: extension_name
          required: true
          schema:
            description: Canvas extension name (lowercase alphanumeric, hyphens)
            maxLength: 255
            minLength: 1
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
            title: Extension Name
            type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '404':
          description: Canvas extension or bundle not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - APIKeyHeader: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-Session-API-Key
      type: apiKey

````

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