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

# Configurar plugin

> Configura una instancia de plugin en una diapositiva.



## OpenAPI

````yaml POST /projects/{slug}/slides/{slideId}/plugins
openapi: 3.1.0
info:
  title: Faces API
  version: '1.0'
  description: >-
    Faces API for creating and managing presentations. Generate presentations
    from prompts, or read and write individual slides. Each slide is a React
    component (face.tsx) with content blocks (face.content.json) and editor
    controls (face.controls.json).
servers:
  - url: https://faces.app/api/v1
    description: API v1
security:
  - bearerAuth: []
paths:
  /projects/{slug}/slides/{slideId}/plugins:
    post:
      tags:
        - Plugins
      summary: Configure a plugin on a slide
      description: >-
        Configure a plugin instance on a slide. The config is validated against
        the plugin's schema and written to the slide's face.plugins.json. Other
        plugin instances on the slide are preserved. By default this refuses to
        overwrite an existing instance with the same localName (returns 409) —
        pass overwrite: true to replace its config, or use a fresh localName to
        add another instance. After setup, wire the plugin into the slide's
        face.tsx via its hook (see getPluginDocs).
      operationId: setupPlugin
      parameters:
        - schema:
            type: string
          required: true
          name: slug
          in: path
        - schema:
            type: string
          required: true
          name: slideId
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pluginId:
                  type: string
                  description: The plugin ID from listPlugins.
                localName:
                  type: string
                  description: >-
                    Identifier for this instance, referenced in code as
                    useFormPlugin/usePresenterPlugin(localName). camelCase or
                    snake_case, starting with a letter.
                config:
                  type: object
                  additionalProperties: {}
                  description: >-
                    Config object matching the plugin's config schema (see
                    getPluginDocs).
                overwrite:
                  type: boolean
                  description: >-
                    Set true to replace an existing instance with the same
                    localName. Defaults to false.
              required:
                - pluginId
                - localName
                - config
      responses:
        '200':
          description: Plugin configured
          content:
            application/json:
              schema:
                type: object
                properties:
                  slideId:
                    type: string
                  versionId:
                    type: string
                    description: The new project version ID.
                  instanceId:
                    type: string
                    description: >-
                      The configured instance id, formatted as
                      `${slideId}.${localName}`.
                  pluginId:
                    type: string
                  created:
                    type: boolean
                    description: >-
                      True if a new instance was created, false if an existing
                      one was overwritten.
                  warning:
                    type: string
                    description: >-
                      Present when the config was saved but a post-save side
                      effect (e.g. presenter avatar provisioning) failed. The
                      instance is configured; address the warning and call
                      setupPlugin again with overwrite: true to retry.
                required:
                  - slideId
                  - versionId
                  - instanceId
                  - pluginId
                  - created
        '400':
          description: Invalid config, or the slide's existing face.plugins.json is corrupt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Project or slide not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            An instance with this localName already exists and overwrite was not
            set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        hint:
          type: string
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key with "faces_" prefix. Create one at Settings > Developers.

````