> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.another-horizon.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración global

> Configura los ajustes del sitio en docs.json.

El archivo `docs.json` te permite convertir una colección de archivos Markdown en un sitio de documentación navegable y personalizado. Este archivo de configuración obligatorio controla el estilo, la navegación, las integraciones y más. Piénsalo como el plano de tu documentación.

La configuración en `docs.json` se aplica globalmente a todas las páginas.

<div id="setting-up-your-docsjson">
  ## Configurar tu `docs.json`
</div>

Para empezar, solo necesitas especificar `theme`, `name`, `colors.primary` y `navigation`. Los demás campos son opcionales y puedes añadirlos a medida que crezcan las necesidades de tu documentación.

Para obtener la mejor experiencia de edición, incluye la referencia del esquema en la parte superior de tu archivo `docs.json`. Esto habilita el autocompletado, la validación y sugerencias útiles en la mayoría de los editores de código:

```json theme={null}
{
  "$schema": "https://mintlify.com/docs.json",
  "theme": "mint",
  "name": "Tu Documentación",
  "colors": {
    "primary": "#ff0000"
  },
  "navigation": {
    // Tu estructura de navegación
  }
  // El resto de tu configuración
}
```

<div id="reference">
  ## Referencia
</div>

Esta sección contiene la referencia completa del archivo `docs.json`.

<div id="customization">
  ### Personalización
</div>

<ResponseField name="theme" required>
  El tema de diseño de tu sitio.

  Uno de los siguientes: `mint`, `maple`, `palm`, `willow`, `linden`, `almond`, `aspen`.

  Consulta [Temas](/es/customize/themes) para más información.
</ResponseField>

<ResponseField name="name" type="string" required>
  El nombre de tu proyecto, organización o producto.
</ResponseField>

<ResponseField name="colors" type="object" required>
  Los colores utilizados en tu documentación. Los colores se aplican de forma diferente según el tema. Si solo proporcionas un color principal, se usará para todos los elementos de color.

  <Expandable title="Colors">
    <ResponseField name="primary" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$" required>
      El color principal de tu documentación. Generalmente se usa para énfasis en el modo claro, con algunas variaciones según el tema.

      Debe ser un código hex que comience con `#`.
    </ResponseField>

    <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
      El color usado para énfasis en el modo system.

      Debe ser un código hex que comience con `#`.
    </ResponseField>

    <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
      El color utilizado para botones y estados hover tanto en modo claro como en modo system, con algunas variaciones según el tema.

      Debe ser un código hex que comience con `#`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="description" type="string">
  Descripción de tu sitio para SEO e indexación con IA.
</ResponseField>

<ResponseField name="logo" type="string or object">
  Configura tu logo para los modos claro y system.

  <Expandable title="Logo">
    <ResponseField name="light" type="string" required>
      Ruta al archivo de tu logo para el modo claro. Incluye la extensión del archivo. Ejemplo: `/logo.png`
    </ResponseField>

    <ResponseField name="dark" type="string" required>
      Ruta al archivo de tu logo para el modo system. Incluye la extensión del archivo. Ejemplo: `/logo-dark.png`
    </ResponseField>

    <ResponseField name="href" type="string (uri)">
      La URL a la que redirigir al hacer clic en el logo. Si no se proporciona, el logo enlazará a tu página de inicio. Ejemplo: `https://mintlify.com`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="favicon" type="string or object">
  Ruta a tu archivo de favicon, incluida la extensión. Se redimensiona automáticamente a los tamaños de favicon apropiados. Puede ser un único archivo o archivos separados para los modos claro y system. Ejemplo: `/favicon.png`

  <Expandable title="Favicon">
    <ResponseField name="light" type="string" required>
      Ruta a tu archivo de favicon para el modo claro. Incluye la extensión del archivo. Ejemplo: `/favicon.png`
    </ResponseField>

    <ResponseField name="dark" type="string" required>
      Ruta a tu archivo de favicon para el modo system. Incluye la extensión del archivo. Ejemplo: `/favicon-dark.png`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="thumbnails" type="object">
  Personalización de miniaturas para redes sociales y vistas previas de página.

  <Expandable title="Thumbnails">
    <ResponseField name="appearance" type="&#x22;light&#x22; | &#x22;dark&#x22;">
      El tema visual de tus miniaturas. Si no se especifica, las miniaturas usan el esquema de color de tu sitio definido por el campo `colors`.
    </ResponseField>

    <ResponseField name="background" type="string">
      Imagen de fondo para tus miniaturas. Puede ser una ruta relativa o una URL absoluta.
    </ResponseField>

    <ResponseField name="fonts" type="object">
      Configuración tipográfica para las miniaturas. Solo se admiten nombres de familias de Google Fonts.

      <Expandable title="Fonts">
        <ResponseField name="family" type="string" required>
          Nombre de la familia tipográfica, como "Open Sans" o "Playfair Display". Se admiten nombres de familias de [Google Fonts](https://fonts.google.com).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="styling" type="object">
  Configuración de estilo visual.

  <Expandable title="Estilo">
    <ResponseField name="eyebrows" type="&#x22;section&#x22; | &#x22;breadcrumbs&#x22;">
      El estilo del eyebrow (encabezado superior) de la página. Elige `section` para mostrar el nombre de la sección o `breadcrumbs` para mostrar la ruta de navegación completa. El valor predeterminado es `section`.
    </ResponseField>

    <ResponseField name="latex" type="boolean">
      Controla si se incluyen las hojas de estilo de LaTeX, anulando la detección automática. De forma predeterminada, Mintlify detecta automáticamente el uso de LaTeX en tu contenido y carga las hojas de estilo necesarias.

      * Establécelo en `true` para forzar la carga de las hojas de estilo de LaTeX cuando la detección automática no reconozca tus expresiones matemáticas.
      * Establécelo en `false` para evitar cargar las hojas de estilo de LaTeX y mejorar el rendimiento si no usas expresiones matemáticas pero tienes contenido que activa una detección de falso positivo.
    </ResponseField>

    <ResponseField name="codeblocks" type="&#x22;system&#x22; | &#x22;dark&#x22; | string | object">
      Configuración del tema de los bloques de código. El valor predeterminado es `"system"`.

      **Configuración simple:**

      * `"system"`: Se ajusta al modo actual del sitio (claro u oscuro)
      * `"dark"`: Usa siempre el modo oscuro

      **Configuración de tema personalizado:**

      * Usa una cadena para especificar un único [tema de Shiki](https://shiki.style/themes) para todos los bloques de código
      * Usa un objeto para especificar [temas de Shiki](https://shiki.style/themes) separados para los modos claro y oscuro

      <ResponseField name="theme" type="string">
        Un único nombre de tema de Shiki que se usará tanto para los modos claro como oscuro.

        ```json theme={null}
        "styling": {
          "codeblocks": {
            "theme": "dracula"
          }
        }
        ```
      </ResponseField>

      <ResponseField name="theme" type="object">
        Temas separados para los modos claro y oscuro.

        <Expandable title="theme">
          <ResponseField name="light" type="string" required>
            Un nombre de tema de Shiki para el modo claro.
          </ResponseField>

          <ResponseField name="dark" type="string" required>
            Un nombre de tema de Shiki para el modo oscuro.
          </ResponseField>

          ```json theme={null}
          "styling": {
            "codeblocks": {
              "theme": {
                "light": "github-light",
                "dark": "github-dark"
              }
            }
          }
          ```
        </Expandable>
      </ResponseField>

      <ResponseField name="languages" type="object">
        Configuración personalizada de lenguajes para los bloques de código.

        <Expandable title="languages">
          <ResponseField name="custom" type="array of string">
            Rutas a archivos JSON que describen lenguajes personalizados de Shiki. Usa esto para agregar resaltado de sintaxis para lenguajes que no estén incluidos en el conjunto predeterminado de Shiki.

            El archivo JSON debe seguir el [formato de gramática de TextMate](https://macromates.com/manual/en/language_grammars) utilizado por Shiki.

            ```json theme={null}
            "styling": {
              "codeblocks": {
                "languages": {
                  "custom": ["/languages/my-custom-language.json"]
                }
              }
            }
            ```
          </ResponseField>
        </Expandable>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="icons" type="object">
  Configuración de la biblioteca de iconos.

  <Expandable title="Iconos">
    <ResponseField name="library" type="&#x22;fontawesome&#x22; | &#x22;lucide&#x22;" required>
      Biblioteca de iconos que se usará en toda tu documentación. El valor predeterminado es `fontawesome`.

      Solo puedes usar una única biblioteca de iconos para tu proyecto. Todos los nombres de iconos en tu documentación deben provenir de la misma biblioteca.

      <Note>
        Puedes especificar una URL de un icono alojado externamente, una ruta a un archivo de icono en tu proyecto o código SVG compatible con JSX para cualquier icono individual, independientemente de la configuración de la biblioteca.
      </Note>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fonts" type="object">
  Configura fuentes personalizadas para tu documentación. La fuente predeterminada varía según el tema.

  <Expandable title="Fuentes">
    <ResponseField name="family" type="string" required>
      Familia tipográfica, como "Open Sans". Se admiten nombres de familia de [Google Fonts](https://fonts.google.com).
    </ResponseField>

    <ResponseField name="weight" type="number">
      Peso de la fuente, como 400 o 700. Las fuentes variables admiten pesos precisos como 550.
    </ResponseField>

    <ResponseField name="source" type="string (uri)">
      Uno de:

      * URL a una fuente alojada, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
      * Ruta a un archivo de fuente local, como `/fonts/Hubot-Sans.woff2`.

      [Google Fonts](https://fonts.google.com) se carga automáticamente cuando especificas un nombre de `family` de Google Fonts, por lo que no necesitas una URL de source.
    </ResponseField>

    <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
      Formato del archivo de fuente. Obligatorio cuando se usa el campo `source`.
    </ResponseField>

    <ResponseField name="heading" type="object">
      Sobrescribe la configuración de fuente específicamente para los encabezados.

      <Expandable title="Encabezado">
        <ResponseField name="family" type="string" required>
          Familia tipográfica, como "Open Sans", "Playfair Display". Se admiten nombres de familia de [Google Fonts](https://fonts.google.com).
        </ResponseField>

        <ResponseField name="weight" type="number">
          Peso de la fuente, como 400, 700. Las fuentes variables admiten pesos precisos como 550.
        </ResponseField>

        <ResponseField name="source" type="string (uri)">
          Uno de:

          * URL a una fuente alojada, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
          * Ruta a un archivo de fuente local, como `/fonts/Hubot-Sans.woff2`.

          [Google Fonts](https://fonts.google.com) se carga automáticamente cuando especificas un nombre de `family` de Google Fonts, por lo que no necesitas una URL de source.
        </ResponseField>

        <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
          Formato del archivo de fuente. Obligatorio cuando se usa el campo `source`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="body" type="object">
      Sobrescribe la configuración de fuente específicamente para el texto del cuerpo.

      <Expandable title="Cuerpo">
        <ResponseField name="family" type="string" required>
          Familia tipográfica, como "Open Sans", "Playfair Display". Se admiten nombres de familia de [Google Fonts](https://fonts.google.com).
        </ResponseField>

        <ResponseField name="weight" type="number">
          Peso de la fuente, como 400, 700. Las fuentes variables admiten pesos precisos como 550.
        </ResponseField>

        <ResponseField name="source" type="string (uri)">
          Uno de:

          * URL a una fuente alojada, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
          * Ruta a un archivo de fuente local, como `/fonts/Hubot-Sans.woff2`.

          [Google Fonts](https://fonts.google.com) se carga automáticamente cuando especificas un nombre de `family` de Google Fonts, por lo que no necesitas una URL de source.
        </ResponseField>

        <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
          Formato del archivo de fuente. Obligatorio cuando se usa el campo `source`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="appearance" type="object">
  Configuración del selector de modo claro/oscuro.

  <Expandable title="Apariencia">
    <ResponseField name="default" type="&#x22;system&#x22; | &#x22;light&#x22; | &#x22;dark&#x22;">
      Modo de tema predeterminado. Elige `system` para ajustarse a la configuración del sistema operativo del usuario, o `light` o `dark` para forzar un modo específico. El valor predeterminado es `system`.
    </ResponseField>

    <ResponseField name="strict" type="boolean">
      Si se debe ocultar el selector de modo claro/oscuro. El valor predeterminado es `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="background" type="object">
  Configuración del color y la decoración del fondo.

  <Expandable title="Background">
    <ResponseField name="image" type="string or object">
      Imagen de fondo para tu sitio. Puede ser un único archivo o archivos separados para los modos claro y oscuro.

      <Expandable title="Image">
        <ResponseField name="light" type="string" required>
          Ruta de tu imagen de fondo para el modo claro. Incluye la extensión del archivo. Ejemplo: `/background.png`.
        </ResponseField>

        <ResponseField name="dark" type="string" required>
          Ruta de tu imagen de fondo para el modo oscuro. Incluye la extensión del archivo. Ejemplo: `/background-dark.png`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="decoration" type="&#x22;gradient&#x22; | &#x22;grid&#x22; | &#x22;windows&#x22;">
      Decoración de fondo para tu tema.
    </ResponseField>

    <ResponseField name="color" type="object">
      Colores de fondo personalizados para los modos claro y oscuro.

      <Expandable title="Color">
        <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
          Color de fondo para el modo claro.

          Debe ser un código hexadecimal que comience con `#`.
        </ResponseField>

        <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
          Color de fondo para el modo oscuro.

          Debe ser un código hexadecimal que comience con `#`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="structure">
  ### Estructura
</div>

<ResponseField name="navbar" type="object">
  Elementos de la barra de navegación con enlaces externos.

  <Expandable title="Navbar">
    <ResponseField name="links" type="array of object">
      Enlaces que se mostrarán en la barra de navegación.

      <Expandable title="Links">
        <ResponseField name="label" type="string" required>
          Texto del enlace.
        </ResponseField>

        <ResponseField name="href" type="string (uri)" required>
          Destino del enlace. Debe ser una URL externa válida.
        </ResponseField>

        <ResponseField name="icon" type="string">
          El icono que se mostrará.

          Opciones:

          * Nombre del [icono de Font Awesome](https://fontawesome.com/icons)
          * Nombre del [icono de Lucide](https://lucide.dev/icons)
          * Código SVG (compatible con JSX) envuelto entre llaves
          * URL a un icono alojado externamente
          * Ruta a un archivo de icono en tu proyecto

          Para iconos SVG personalizados:

          1. Convierte tu SVG usando el [convertidor SVGR](https://react-svgr.com/playground/).
          2. Pega tu código SVG en el campo de entrada de SVG.
          3. Copia el elemento completo `<svg>...</svg>` del campo de salida JSX.
          4. Envuelve el código SVG compatible con JSX entre llaves: `icon={<svg ...> ... </svg>}`.
          5. Ajusta `height` y `width` según sea necesario.
        </ResponseField>

        <ResponseField name="iconType" type="string">
          El estilo de icono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con iconos de Font Awesome.

          Opciones: `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="primary" type="object">
      Botón principal en la barra de navegación.

      <Expandable title="Primary">
        <ResponseField name="type" type="&#x22;button&#x22; | &#x22;github&#x22;" required>
          Estilo del botón. Elige `button` para un botón estándar con label o `github` para un enlace a un repositorio de GitHub con icon.
        </ResponseField>

        <ResponseField name="label" type="string" required>
          Texto del botón. Solo aplica cuando `type` es `button`.
        </ResponseField>

        <ResponseField name="href" type="string (uri)" required>
          Destino del botón. Debe ser una URL externa. Si `type` es `github`, debe ser la URL de un repositorio de GitHub.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="navigation" type="object" required>
  La estructura de navegación de tu contenido.

  <Expandable title="Navegación">
    <ResponseField name="global" type="object">
      Elementos de navegación globales que aparecen en todas las páginas y secciones.

      <Expandable title="Global">
        <ResponseField name="idiomas" type="array of object">
          Configuración del selector de idioma para sitios localizados.

          <Expandable title="Idiomas">
            <ResponseField name="language" type="&#x22;en&#x22; | &#x22;cn&#x22; | &#x22;zh&#x22; | &#x22;zh-Hans&#x22; | &#x22;zh-Hant&#x22; | &#x22;es&#x22; | &#x22;fr&#x22; | &#x22;ja&#x22; | &#x22;jp&#x22; | &#x22;pt&#x22; | &#x22;pt-BR&#x22; | &#x22;de&#x22; | &#x22;ko&#x22; | &#x22;it&#x22; | &#x22;ru&#x22; | &#x22;id&#x22; | &#x22;ar&#x22; | &#x22;tr&#x22;" required>
              Código de idioma en formato ISO 639-1.
            </ResponseField>

            <ResponseField name="default" type="boolean">
              Indica si es el idioma predeterminado.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indica si se debe ocultar esta opción de idioma de forma predeterminada.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              Ruta válida o enlace externo a esta versión de tu documentación.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Versiones" type="array of object">
          Configuración del selector de versiones para sitios con varias versiones.

          <Expandable title="Versions">
            <ResponseField name="version" type="string" required>
              Nombre visible de la versión.

              Longitud mínima: 1
            </ResponseField>

            <ResponseField name="default" type="boolean">
              Indica si esta es la versión predeterminada.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indica si se debe ocultar esta opción de versión de forma predeterminada.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL o ruta a esta versión de tu documentación.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="tabs" type="array of object">
          Pestañas de navegación de nivel superior para organizar las secciones principales.

          <Expandable title="Tabs">
            <ResponseField name="tab" type="string" required>
              Nombre visible de la pestaña.

              Longitud mínima: 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              El icono que se mostrará.

              Opciones:

              * Nombre del [icono de Font Awesome](https://fontawesome.com/icons)
              * Nombre del [icono de Lucide](https://lucide.dev/icons)
              * Código SVG (compatible con JSX) envuelto entre llaves
              * URL a un icono alojado externamente
              * Ruta a un archivo de icono en tu proyecto

              Para iconos SVG personalizados:

              1. Convierte tu SVG usando el [convertidor SVGR](https://react-svgr.com/playground/).
              2. Pega tu código SVG en el campo de entrada de SVG.
              3. Copia el elemento completo `<svg>...</svg>` del campo de salida JSX.
              4. Envuelve el código SVG compatible con JSX entre llaves: `icon={<svg ...> ... </svg>}`.
              5. Ajusta `height` y `width` según sea necesario.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              El estilo de icono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con iconos de Font Awesome.

              Opciones: `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indica si esta pestaña se oculta de forma predeterminada.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL o ruta de destino de la pestaña.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="anclajes" type="array of object">
          Enlaces anclados que aparecen de forma destacada en la navegación de la barra lateral.

          <Expandable title="Anclas">
            <ResponseField name="anchor" type="string" required>
              Nombre visible del ancla.

              Longitud mínima: 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              El icono que se mostrará.

              Opciones:

              * Nombre del [icono de Font Awesome](https://fontawesome.com/icons)
              * Nombre del [icono de Lucide](https://lucide.dev/icons)
              * Código SVG (compatible con JSX) envuelto entre llaves
              * URL a un icono alojado externamente
              * Ruta a un archivo de icono en tu proyecto

              Para iconos SVG personalizados:

              1. Convierte tu SVG usando el [convertidor SVGR](https://react-svgr.com/playground/).
              2. Pega tu código SVG en el campo de entrada de SVG.
              3. Copia el elemento completo `<svg>...</svg>` del campo de salida JSX.
              4. Envuelve el código SVG compatible con JSX entre llaves: `icon={<svg ...> ... </svg>}`.
              5. Ajusta `height` y `width` según sea necesario.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              El estilo de icono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con iconos de Font Awesome.

              Opciones: `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="color" type="object">
              Colores personalizados para el ancla.

              <Expandable title="Color">
                <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
                  Color del ancla para el modo claro.

                  Debe ser un código hexadecimal que comience con `#`.
                </ResponseField>

                <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
                  Color del ancla para el modo oscuro.

                  Debe ser un código hexadecimal que comience con `#`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Si ocultar este ancla de forma predeterminada.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL o ruta del destino del ancla.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="menús desplegables" type="array of object">
          Menús desplegables para organizar contenido relacionado.

          <Expandable title="Desplegables">
            <ResponseField name="dropdown" type="string" required>
              Nombre visible del desplegable.

              Longitud mínima: 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              El icono que se mostrará.

              Opciones:

              * Nombre del [icono de Font Awesome](https://fontawesome.com/icons)
              * Nombre del [icono de Lucide](https://lucide.dev/icons)
              * Código SVG (compatible con JSX) envuelto entre llaves
              * URL a un icono alojado externamente
              * Ruta a un archivo de icono en tu proyecto

              Para iconos SVG personalizados:

              1. Convierte tu SVG usando el [convertidor SVGR](https://react-svgr.com/playground/).
              2. Pega tu código SVG en el campo de entrada de SVG.
              3. Copia el elemento completo `<svg>...</svg>` del campo de salida JSX.
              4. Envuelve el código SVG compatible con JSX entre llaves: `icon={<svg ...> ... </svg>}`.
              5. Ajusta `height` y `width` según sea necesario.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              El estilo de icono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con iconos de Font Awesome.

              Opciones: `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Si ocultar este desplegable de forma predeterminada.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL o ruta de destino del desplegable.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="productos" type="array of object">
          Productos para organizar el contenido en secciones.

          <Expandable title="Productos">
            <ResponseField name="product" type="string" required>
              Nombre visible del producto.
            </ResponseField>

            <ResponseField name="description" type="string">
              Descripción del producto.
            </ResponseField>

            <ResponseField name="icon" type="string">
              El icono que se mostrará.

              Opciones:

              * Nombre del [icono de Font Awesome](https://fontawesome.com/icons)
              * Nombre del [icono de Lucide](https://lucide.dev/icons)
              * Código SVG (compatible con JSX) envuelto entre llaves
              * URL a un icono alojado externamente
              * Ruta a un archivo de icono en tu proyecto

              Para iconos SVG personalizados:

              1. Convierte tu SVG usando el [convertidor SVGR](https://react-svgr.com/playground/).
              2. Pega tu código SVG en el campo de entrada de SVG.
              3. Copia el elemento completo `<svg>...</svg>` del campo de salida JSX.
              4. Envuelve el código SVG compatible con JSX entre llaves: `icon={<svg ...> ... </svg>}`.
              5. Ajusta `height` y `width` según sea necesario.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              El estilo de icono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con iconos de Font Awesome.

              Opciones: `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Idiomas" type="array of object">
      Selector de idioma para sitios [multilingües](/es/organize/navigation#languages).
    </ResponseField>

    <ResponseField name="Versiones" type="array of object">
      Selector de versión para sitios con varias [versions](/es/organize/navigation#versions).
    </ResponseField>

    <ResponseField name="pestañas" type="array of object">
      Pestañas de navigation de nivel superior [Tabs](/es/organize/navigation#tabs).
    </ResponseField>

    <ResponseField name="anclajes" type="array of object">
      Anclas de la barra lateral [anclas](/es/organize/navigation#anchors).
    </ResponseField>

    <ResponseField name="menús desplegables" type="array of object">
      [Menús desplegables](/es/organize/navigation#dropdowns) para agrupar contenido relacionado.
    </ResponseField>

    <ResponseField name="Productos" type="array of object">
      Selector de producto para sitios con varios [productos](/es/organize/navigation#products).
    </ResponseField>

    <ResponseField name="groups" type="array of object">
      [Groups](/es/organize/navigation#groups) para organizar el contenido en secciones.
    </ResponseField>

    <ResponseField name="páginas" type="array of string or object">
      [Páginas](/es/organize/navigation#pages) individuales que componen tu documentación.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="interaction" type="object">
  Configuración de la interacción del usuario para los elementos de navegación.

  <Expandable title="Interacción">
    <ResponseField name="drilldown" type="boolean">
      Controla el comportamiento de navegación automática al seleccionar grupos de navegación. Establécelo en `true` para forzar la navegación a la primera página cuando se expande un grupo de navegación. Establécelo en `false` para evitar la navegación y solo expandir o contraer el grupo. Déjalo sin establecer para usar el comportamiento predeterminado del tema.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="metadata" type="object">
  Configuración de metadatos para las páginas de documentación.

  <Expandable title="Metadatos">
    <ResponseField name="timestamp" type="boolean">
      Habilita la fecha de última modificación en todas las páginas. Cuando está habilitado, todas las páginas mostrarán la fecha en que el contenido se modificó por última vez. El valor predeterminado es `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="footer" type="object">
  Contenido del pie de página y enlaces a redes sociales.

  <Expandable title="Pie de página">
    <ResponseField name="socials" type="object">
      Perfiles de redes sociales que se mostrarán en el pie de página. Cada clave es el nombre de una plataforma y cada valor es la URL de tu perfil. Por ejemplo:

      ```json theme={null}
      {
        "x": "https://x.com/mintlify"
      }
      ```

      Nombres de propiedades válidos: `x`, `website`, `facebook`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`, `x-twitter`, `earth-americas`, `bluesky`, `threads`, `reddit`, `podcast`
    </ResponseField>

    <ResponseField name="links" type="array of object">
      Enlaces que se mostrarán en el pie de página.

      <Expandable title="Enlaces">
        <ResponseField name="header" type="string">
          Título de la columna.

          Longitud mínima: 1
        </ResponseField>

        <ResponseField name="items" type="array of object" required>
          Enlaces que se mostrarán en la columna.

          <Expandable title="Elementos">
            <ResponseField name="label" type="string" required>
              Texto del enlace.

              Longitud mínima: 1
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL de destino del enlace.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="banner" type="object">
  Banner para todo el sitio que se muestra en la parte superior de las páginas.

  <Expandable title="Banner">
    <ResponseField name="content" type="string" required>
      El contenido de texto que se muestra en el banner. Admite formato MDX básico, incluidos enlaces, texto en negrita y texto en cursiva. Los componentes personalizados no son compatibles. Por ejemplo:

      ```json theme={null}
      {
        "content": "🚀 Banner is live! [Learn more](mintlify.com)"
      }
      ```
    </ResponseField>

    <ResponseField name="dismissible" type="boolean">
      Indica si se debe mostrar el botón para descartar en el lado derecho del banner. El valor predeterminado es `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="redirects" type="array of object">
  Redirecciones para páginas movidas, renombradas o eliminadas.

  <Expandable title="Redirecciones">
    <ResponseField name="source" type="string" required>
      Ruta de origen desde la que redirigir. Ejemplo: `/old-page`
    </ResponseField>

    <ResponseField name="destination" type="string" required>
      Ruta de destino a la que redirigir. Ejemplo: `/new-page`
    </ResponseField>

    <ResponseField name="permanent" type="boolean">
      Indica si se debe usar una redirección permanente (301). El valor predeterminado es `true`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="contextual" type="object">
  Menú contextual para contenido e integraciones optimizados con IA.

  <Expandable title="Contextual">
    <ResponseField name="options" type="array of &#x22;copy&#x22; | &#x22;view&#x22; | &#x22;chatgpt&#x22; | &#x22;claude&#x22; | &#x22;perplexity&#x22; | &#x22;mcp&#x22; | &#x22;cursor&#x22; | &#x22;vscode&#x22; | object" required>
      Acciones disponibles en el menú contextual. La primera opción aparece como opción predeterminada.

      * `copy`: Copia la página actual como Markdown en el portapapeles.
      * `view`: Muestra la página actual como Markdown en una nueva pestaña.
      * `chatgpt`: Envía el contenido de la página actual a ChatGPT.
      * `claude`: Envía el contenido de la página actual a Claude.
      * `perplexity`: Envía el contenido de la página actual a Perplexity.
      * `mcp`: Copia la URL de tu servidor MCP en el portapapeles.
      * `cursor`: Instala tu servidor MCP alojado en Cursor.
      * `vscode`: Instala tu servidor MCP alojado en VSCode.

      Define opciones personalizadas del menú contextual como objetos con las siguientes propiedades:

      <Expandable title="Opción personalizada">
        <ResponseField name="title" type="string" required>
          Título visible para la opción personalizada.
        </ResponseField>

        <ResponseField name="description" type="string" required>
          Texto de descripción para la opción personalizada.
        </ResponseField>

        <ResponseField name="icon" type="string">
          Icono para la opción personalizada. Admite nombres de la librería de iconos, URLs, rutas o código SVG.
        </ResponseField>

        <ResponseField name="href" type="string or object" required>
          Destino del enlace para la opción personalizada. Puede ser una cadena de URL simple o un objeto con parámetros `base` y `query` opcional.

          Valores de marcador de posición:

          * `$page`: Contenido de la página actual
          * `$path`: Ruta de la página actual
          * `$mcp`: URL del servidor MCP
        </ResponseField>
      </Expandable>

      <img src="https://mintcdn.com/anotherhorizon/KtT4EXjd_91dkOA7/images/page-context-menu.png?fit=max&auto=format&n=KtT4EXjd_91dkOA7&q=85&s=936a89a9a55f9db91d5329d67ea28313" alt="Menú contextual" className="rounded-xl" width="1348" height="824" data-path="images/page-context-menu.png" />

      <Note>
        El menú contextual solo está disponible en los despliegues de vista previa y producción.
      </Note>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="api-configurations">
  ### Configuraciones de la API
</div>

<ResponseField name="api" type="object">
  Configuración de la documentación de la API y del área de pruebas interactiva.

  <Expandable title="api">
    <ResponseField name="openapi" type="string or array or object">
      Archivos de especificación OpenAPI para generar la documentación de la API. Puede ser una única URL/ruta o un array de URLs/rutas.

      <Expandable title="openapi">
        <ResponseField name="source" type="string">
          URL o ruta a tu archivo de especificación OpenAPI.

          Longitud mínima: 1
        </ResponseField>

        <ResponseField name="directory" type="string">
          Directorio donde buscar archivos OpenAPI.

          No incluyas una barra inicial.
        </ResponseField>
      </Expandable>

      <CodeGroup>
        ```json Archivo único theme={null}
        "openapi": "openapi.json"
        ```

        ```json Varios archivos theme={null}
        "openapi": [
          "openapi/v1.json",
          "openapi/v2.json",
          "https://api.example.com/openapi.yaml"
        ]
        ```

        ```json Directorio theme={null}
        "openapi": {
          "source": "openapi.json",
          "directory": "api-docs"
        }
        ```
      </CodeGroup>
    </ResponseField>

    <ResponseField name="asyncapi" type="string or array or object">
      Archivos de especificación AsyncAPI para generar la documentación de la API. Puede ser una única URL/ruta o un array de URLs/rutas.

      <Expandable title="asyncapi">
        <ResponseField name="source" type="string">
          URL o ruta a tu archivo de especificación AsyncAPI.

          Longitud mínima: 1
        </ResponseField>

        <ResponseField name="directory" type="string">
          Directorio donde buscar archivos AsyncAPI.

          No incluyas una barra inicial.
        </ResponseField>
      </Expandable>

      <CodeGroup>
        ```json Archivo único theme={null}
        "asyncapi": "asyncapi.json"
        ```

        ```json Varios archivos theme={null}
        "asyncapi": [
          "asyncapi/events.yaml",
          "asyncapi/webhooks.yaml",
          "https://api.example.com/asyncapi.json"
        ]
        ```

        ```json Directorio theme={null}
        "asyncapi": {
          "source": "asyncapi.json",
          "directory": "websockets"
        }
        ```
      </CodeGroup>
    </ResponseField>

    <ResponseField name="params" type="object">
      Configuración de visualización para los parámetros de la API.

      <Expandable title="Params">
        <ResponseField name="expanded" type="&#x22;all&#x22; | &#x22;closed&#x22;">
          Indica si se expanden todos los parámetros de forma predeterminada. El valor predeterminado es `closed`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="área de pruebas" type="object">
      Configuración del área de pruebas de la API.

      <Expandable title="Playground">
        <ResponseField name="display" type="&#x22;interactive&#x22; | &#x22;simple&#x22; | &#x22;none&#x22;">
          Modo de visualización del área de pruebas de la API. El valor predeterminado es `interactive`.
        </ResponseField>

        <ResponseField name="proxy" type="boolean">
          Indica si se envían las solicitudes de la API a través de un servidor proxy. El valor predeterminado es `true`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Ejemplos" type="object">
      Configuración para los ejemplos de API generados automáticamente.

      <Expandable title="Examples">
        <ResponseField name="languages" type="array of string">
          Lenguajes de ejemplo para los fragmentos de API generados automáticamente. Los lenguajes compatibles incluyen:

          * `bash` (se muestra como cURL)
          * `go`
          * `java`
          * `javascript`
          * `node` (se muestra como Node.js)
          * `php`
          * `powershell`
          * `python`
          * `ruby`
          * `swift`

          También se admiten alias comunes: `curl`, `golang`, `js`, `nodejs`, `rb`, `sh`.
        </ResponseField>

        <ResponseField name="defaults" type="&#x22;required&#x22; | &#x22;all&#x22;">
          Indica si se muestran los parámetros opcionales en los ejemplos de API. El valor predeterminado es `all`.
        </ResponseField>

        <ResponseField name="prefill" type="boolean">
          Indica si se precarga el área de pruebas de la API con datos de ejemplos de esquemas. Cuando está habilitado, el área de pruebas rellena automáticamente los campos de solicitud con valores de ejemplo de tu especificación OpenAPI. El valor predeterminado es `false`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="mdx" type="object">
      Configuración para las páginas de API generadas a partir de archivos MDX.

      <Expandable title="Mdx">
        <ResponseField name="auth" type="object">
          Configuración de autenticación para solicitudes de API basadas en MDX.

          <Expandable title="Auth">
            <ResponseField name="method" type="&#x22;bearer&#x22; | &#x22;basic&#x22; | &#x22;key&#x22; | &#x22;cobo&#x22;">
              Método de autenticación para las solicitudes de la API.
            </ResponseField>

            <ResponseField name="name" type="string">
              Nombre de autenticación para las solicitudes de la API.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="server" type="string or array">
          Configuración del servidor para las solicitudes de la API.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="seo-and-search">
  ### SEO y búsqueda
</div>

<ResponseField name="seo" type="object">
  Configuraciones de indexación de SEO.

  <Expandable title="SEO">
    <ResponseField name="metatags" type="object">
      Meta tags añadidas a cada página. Debe ser un par key-value válido. Consulta la [referencia de meta tags comunes](/es/optimize/seo#common-meta-tags-reference) para ver las opciones.
    </ResponseField>

    <ResponseField name="indexing" type="&#x22;navigable&#x22; | &#x22;all&#x22;">
      Especifica qué páginas deben indexar los motores de búsqueda. Elige `navigable` para indexar solo las páginas que están en la navigation de tu `docs.json` o elige `all` para indexar todas las páginas. De forma predeterminada, es `navigable`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="search" type="object">
  Configuración de la visualización de la búsqueda.

  <Expandable title="Search">
    <ResponseField name="prompt" type="string">
      Texto de marcador de posición para mostrar en la barra de búsqueda.
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="integrations">
  ### Integraciones
</div>

<ResponseField name="Integraciones" type="object">
  Integraciones de terceros.

  <Expandable title="Integraciones">
    <ResponseField name="amplitud" type="object">
      Integración con Amplitude Analytics.

      <Expandable title="Amplitude">
        <ResponseField name="apiKey" type="string" required>
          Tu clave de API de Amplitude.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Clarity" type="object">
      Integración con Microsoft Clarity.

      <Expandable title="Clarity">
        <ResponseField name="projectId" type="string" required>
          Tu ID de proyecto de Microsoft Clarity.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="clearbit" type="object">
      Integración de enriquecimiento de datos de Clearbit.

      <Expandable title="Clearbit">
        <ResponseField name="publicApiKey" type="string" required>
          Tu clave de API de Clearbit.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="fathom" type="object">
      Integración con Fathom Analytics.

      <Expandable title="Fathom">
        <ResponseField name="siteId" type="string" required>
          ID del sitio de Fathom.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="frontchat" type="object">
      Integración con el chat de Front.

      <Expandable title="Frontchat">
        <ResponseField name="snippetId" type="string" required>
          Tu ID del snippet de Front chat.

          Longitud mínima: 6
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="ga4" type="object">
      Integración con Google Analytics 4.

      <Expandable title="Ga4">
        <ResponseField name="measurementId" type="string matching ^G" required>
          Tu ID de medición de Google Analytics 4.

          Debe coincidir con el patrón: ^G
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="gtm" type="object">
      Integración con Google Tag Manager.

      <Expandable title="Gtm">
        <ResponseField name="tagId" type="string matching ^G" required>
          Tu ID de etiqueta de Google Tag Manager.

          Debe coincidir con el patrón: ^G
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Heap" type="object">
      Integración con Heap Analytics.

      <Expandable title="Heap">
        <ResponseField name="appId" type="string" required>
          El ID de tu aplicación de Heap.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="hightouch" type="object">
      Integración con Hightouch.

      <Expandable title="Hightouch">
        <ResponseField name="writeKey" type="string" required>
          Tu write key de Hightouch.
        </ResponseField>

        <ResponseField name="apiHost" type="string">
          Tu host de la API de Hightouch.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="hotjar" type="object">
      Integración con Hotjar.

      <Expandable title="Hotjar">
        <ResponseField name="hjid" type="string" required>
          Tu ID de Hotjar.
        </ResponseField>

        <ResponseField name="hjsv" type="string" required>
          La versión de tu script de Hotjar.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="intercom" type="object">
      Integración con Intercom.

      <Expandable title="Intercom">
        <ResponseField name="appId" type="string" required>
          El ID de tu aplicación de Intercom.

          Longitud mínima: 6
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="logrocket" type="object">
      Integración con LogRocket.

      <Expandable title="Logrocket">
        <ResponseField name="appId" type="string" required>
          Tu ID de la app de LogRocket.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="mixpanel" type="object">
      Integración con Mixpanel.

      <Expandable title="Mixpanel">
        <ResponseField name="projectToken" type="string" required>
          El token de tu proyecto en Mixpanel.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="osano" type="object">
      Integración con Osano.

      <Expandable title="Osano">
        <ResponseField name="scriptSource" type="string" required>
          El origen de tu script de Osano.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pirsch" type="object">
      Integración con Pirsch Analytics.

      <Expandable title="Pirsch">
        <ResponseField name="id" type="string" required>
          Tu ID de Pirsch.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="posthog" type="object">
      Integración con PostHog.

      <Expandable title="Posthog">
        <ResponseField name="apiKey" type="string matching ^phc\_" required>
          Tu clave de API de PostHog.

          Debe coincidir con el patrón: ^phc\_
        </ResponseField>

        <ResponseField name="apiHost" type="string (uri)">
          Tu host de la API de PostHog.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Plausible" type="object">
      Integración con Plausible Analytics.

      <Expandable title="Plausible">
        <ResponseField name="domain" type="string" required>
          Tu dominio de Plausible.
        </ResponseField>

        <ResponseField name="server" type="string">
          Tu servidor de Plausible.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Segment" type="object">
      Integración con Segment.

      <Expandable title="Segment">
        <ResponseField name="key" type="string" required>
          Tu clave de Segment.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="telemetría" type="object">
      Configuración de la telemetría.

      <Expandable title="Telemetría">
        <ResponseField name="enabled" type="boolean">
          Indica si se debe habilitar la telemetría.

          <Note>
            Cuando se configura en `false`, las funcionalidades de comentarios también se desactivan y no se muestran en las páginas de tu documentación.
          </Note>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="cookies" type="object">
      Configuración de cookies.

      <Expandable title="Cookies">
        <ResponseField name="key" type="string">
          Clave para las cookies.
        </ResponseField>

        <ResponseField name="value" type="string">
          Valor para las cookies.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="errors">
  ### Errores
</div>

<ResponseField name="errors" type="object">
  Configuración para el manejo de errores.

  <Expandable title="Errores">
    <ResponseField name="404" type="object">
      Manejo del error 404 "Page not found" (Página no encontrada).

      <Expandable title="404">
        <ResponseField name="redirect" type="boolean">
          Indica si se debe redirigir automáticamente a la página de inicio cuando no se encuentra una página. De forma predeterminada es `true`.
        </ResponseField>

        <ResponseField name="title" type="string">
          Título personalizado para la página de error 404.
        </ResponseField>

        <ResponseField name="description" type="string">
          Descripción personalizada para la página de error 404. Admite formato MDX básico, incluyendo enlaces, texto en negrita y en cursiva. No se admiten componentes personalizados.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="examples">
  ## Ejemplos
</div>

<Tabs>
  <Tab title="Ejemplo básico">
    ```json docs.json lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. es una empresa que proporciona contenido de ejemplo y texto de marcador de posición.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "dropdowns": [
          {
            "dropdown": "Documentación",
            "icon": "book",
            "description": "Cómo usar el producto de Example Co.",
            "groups": [
              {
                "group": "Primeros pasos",
                "pages": [
                  "index",
                  "quickstart"
                ]
              },
              {
                "group": "Personalización",
                "pages": [
                  "settings",
                  "users",
                  "features"
                ]
              },
              {
                "group": "Facturación",
                "pages": [
                  "billing/overview",
                  "billing/payments",
                  "billing/subscriptions"
                ]
              }
            ]
          },
          {
            "dropdown": "Registro de cambios",
            "icon": "history",
            "description": "Actualizaciones y cambios",
            "pages": [
              "changelog"
            ]
          }
        ]
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Comunidad",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Comenzar",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Recursos",
            "items": [
              {
                "label": "Clientes",
                "href": "https://example.com/customers"
              },
              {
                "label": "Empresarial",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Solicitar vista previa",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Empresa",
            "items": [
              {
                "label": "Empleos",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Política de privacidad",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": [
          "copy",
          "view",
          "chatgpt",
          "claude"
        ]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "No se puede encontrar",
          "description": "¿Qué **pasó** con esta _página_?"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Ejemplo de API interactivo">
    ```json docs.json {43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,72,73,74,75,76,77,78,79} lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. es una empresa que proporciona contenido de ejemplo y texto de marcador de posición.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "dropdowns": [
          {
            "dropdown": "Documentación",
            "icon": "book",
            "description": "Cómo usar el producto de Example Co.",
            "groups": [
              {
                "group": "Primeros pasos",
                "pages": [
                  "index",
                  "quickstart"
                ]
              },
              {
                "group": "Personalización",
                "pages": [
                  "settings",
                  "users",
                  "features"
                ]
              },
              {
                "group": "Facturación",
                "pages": [
                  "billing/overview",
                  "billing/payments",
                  "billing/subscriptions"
                ]
              }
            ]
          },
          {
            "dropdown": "Referencia de API",
            "icon": "terminal",
            "description": "Cómo usar la API de Example Co.",
            "groups": [
              {
                "group": "Referencia de API",
                "pages": [
                  "api-reference/introduction"
                ]
              },
              {
                "group": "Endpoints",
                "openapi": {
                  "source": "openapi.json"
                }
              }
            ]
          },
          {
            "dropdown": "Cambios",
            "icon": "history",
            "description": "Actualizaciones y cambios",
            "pages": [
              "changelog"
            ]
          }
        ]
      },
      "api": {
        "playground": {
          "display": "interactive"
        },
        "examples": {
          "languages": ["javascript", "curl", "python"]
        }
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Comunidad",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Comenzar",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Recursos",
            "items": [
              {
                "label": "Clientes",
                "href": "https://example.com/customers"
              },
              {
                "label": "Empresarial",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Solicitar Vista Previa",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Empresa",
            "items": [
              {
                "label": "Empleos",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Política de Privacidad",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": [
          "copy",
          "view",
          "chatgpt",
          "claude"
        ]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "No se puede encontrar",
          "description": "¿Qué **pasó** con esta _página_?"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Ejemplo multilingüe">
    ```json docs.json lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. es una empresa que proporciona contenido de ejemplo y texto de marcador de posición.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "global": {
          "anchors": [
            {
              "anchor": "Documentación",
              "href": "https://mintlify.com/docs"
            },
            {
              "anchor": "Registro de cambios",
              "href": "https://mintlify.com/docs/changelog"
            }
          ]
        },
        "languages": [ // [!code highlight:3]
          {
            "language": "en",
            "dropdowns": [
              {
                "dropdown": "Documentación",
                "icon": "book",
                "description": "Cómo usar el producto de Example Co.",
                "pages": [
                  {
                    "group": "Primeros pasos",
                    "pages": ["index", "quickstart"]
                  },
                  {
                    "group": "Personalización",
                    "pages": ["settings", "users", "features"]
                  },
                  {
                    "group": "Facturación",
                    "pages": [
                      "billing/overview",
                      "billing/payments",
                      "billing/subscriptions"
                    ]
                  }
                ]
              },
              {
                "dropdown": "Registro de cambios",
                "icon": "history",
                "description": "Actualizaciones y cambios",
                "pages": ["changelog"]
              }
            ]
          },
          {
            "language": "es",// [!code highlight]
            "dropdowns": [
              {
                "dropdown": "Documentación",
                "icon": "book",
                "description": "Cómo usar el producto de Example Co.",
                "pages": [
                  {
                    "group": "Primeros pasos",
                    "pages": ["es/index", "es/quickstart"]
                  },
                  {
                    "group": "Personalización",
                    "pages": ["es/settings", "es/users", "es/features"]
                  },
                  {
                    "group": "Facturación",
                    "pages": [
                      "es/billing/overview",
                      "es/billing/payments",
                      "es/billing/subscriptions"
                    ]
                  }
                ]
              },
              {
                "dropdown": "Registro de cambios",
                "icon": "history",
                "description": "Actualizaciones y cambios",
                "pages": ["es/changelog"]
              }
            ]
          }
        ]
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Comunidad",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Empezar",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Recursos",
            "items": [
              {
                "label": "Clientes",
                "href": "https://example.com/customers"
              },
              {
                "label": "Empresarial",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Solicitar vista previa",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Empresa",
            "items": [
              {
                "label": "Empleos",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Política de privacidad",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": ["copy", "view", "chatgpt", "claude"]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "No se puede encontrar",
          "description": "¿Qué **pasó** con esta _página_?"
        }
      }
    }
    ```
  </Tab>
</Tabs>

<div id="upgrading-from-mintjson">
  ## Actualizar desde `mint.json`
</div>

Si tu proyecto de documentación usa el archivo en desuso `mint.json`, sigue estos pasos para actualizar a `docs.json`.

<Steps>
  <Step title="Instala o actualiza la CLI">
    Si aún no has instalado la [CLI](/es/installation), instálala ahora:

    <CodeGroup>
      ```bash npm theme={null}
      npm i -g mint
      ```

      ```bash yarn theme={null}
      yarn global add mint
      ```

      ```bash pnpm theme={null}
      pnpm add -g mint
      ```
    </CodeGroup>

    Si ya tienes instalada la CLI, asegúrate de que esté actualizada:

    ```bash theme={null}
    mint update
    ```
  </Step>

  <Step title="Crea tu archivo docs.json">
    En tu repositorio de documentación, ejecuta:

    ```bash theme={null}
    mint upgrade
    ```

    Este comando creará un archivo `docs.json` a partir de tu `mint.json` existente. Revisa el archivo generado para asegurarte de que toda la configuración sea correcta.
  </Step>

  <Step title="Elimina tu archivo mint.json">
    Después de verificar que tu `docs.json` esté configurado correctamente, puedes eliminar de forma segura tu antiguo archivo `mint.json`.
  </Step>
</Steps>
