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

# Install a marketplace plugin

> Resolve, pip install, patch the manifest, reload, and record attribution —
aborting and unwinding on any failure (see :meth:`Installer.install`).



## OpenAPI

````yaml /openapi.json post /api/marketplace/install
openapi: 3.1.0
info:
  description: The operator HTTP surface served under /api/*.
  title: tai42-skeleton API
  version: 0.1.1
servers: []
security: []
paths:
  /api/marketplace/install:
    post:
      tags:
        - marketplace
      summary: Install a marketplace plugin
      description: >-
        Resolve, pip install, patch the manifest, reload, and record attribution
        —

        aborting and unwinding on any failure (see :meth:`Installer.install`).
      operationId: post_api_marketplace_install
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketplaceInstall'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                required:
                  - data
                type: object
          description: Success.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Malformed request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Resource not found.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Conflict with the current resource state.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error.
        '503':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ReloadingError'
                  - $ref: '#/components/schemas/Error'
          description: >-
            The server is applying a config reload, or a dependency this route
            needs is temporarily unavailable; retry shortly.
          headers:
            Retry-After:
              description: >-
                Seconds to wait before retrying; carried by the reloading
                answer.
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
components:
  schemas:
    MarketplaceInstall:
      description: Install a marketplace plugin by ref, optionally pinning a version.
      properties:
        ref:
          title: Ref
          type: string
        version:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Version
      required:
        - ref
      title: MarketplaceInstall
      type: object
    Error:
      properties:
        error:
          type: string
      required:
        - error
      type: object
    ReloadingError:
      properties:
        error:
          const: reloading — the server is applying a config reload; retry shortly
          type: string
        reloading:
          const: true
          type: boolean
      required:
        - error
        - reloading
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````