> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-mintlify-7154f3ff.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Estructura del sitio

> Configura la barra de navegación, navegación, pie de página, banner, menú contextual, redirecciones y otros ajustes estructurales en tu archivo `docs.json`.

Usa estos ajustes en tu archivo `docs.json` para controlar la arquitectura de información y la experiencia de usuario de tu sitio. Modifica la barra de navegación, pie de página, banners, comportamiento de navegación, menús contextuales, redirecciones y variables de contenido globales.

## Ajustes

### `navigation` - <Badge color="red">required</Badge>

**Tipo:** `object`

La estructura de navegación de tu contenido. Aquí es donde defines la jerarquía completa de páginas de tu sitio usando grupos, pestañas, desplegables, anclas y más.

Consulta [Navegación](/es/organize/navigation) para obtener documentación completa sobre cómo construir tu estructura de navegación.

<ResponseField name="navigation.global" type="object">
  Elementos de navegación globales que aparecen en todas las páginas y configuraciones regionales.

  <Expandable title="navigation.global">
    <ResponseField name="tabs" type="array of object">
      Pestañas de navegación de nivel superior para organizar secciones principales. Consulta [Pestañas](/es/organize/navigation#tabs).

      <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 ícono que se mostrará.

          Opciones:

          * Nombre del ícono de [Font Awesome](https://fontawesome.com/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `fontawesome` en tu `docs.json`
          * Nombre del ícono de [Lucide](https://lucide.dev/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `lucide` en tu `docs.json`
          * Nombre del ícono de [Tabler](https://tabler.io/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `tabler` en tu `docs.json`
          * URL de un ícono alojado externamente
          * Ruta a un archivo de ícono en tu proyecto
          * Código SVG envuelto entre llaves

          Para íconos SVG personalizados:

          1. Convierte tu SVG con el [convertidor de 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 de 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 ícono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con íconos de Font Awesome.

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

        <ResponseField name="hidden" type="boolean">
          Si se debe ocultar esta pestaña de forma predeterminada.
        </ResponseField>

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

    <ResponseField name="anchors" type="array of object">
      Enlaces con ancla que aparecen de forma destacada en la barra lateral. Consulta [Anclas](/es/organize/navigation#anchors).

      <Expandable title="anchors">
        <ResponseField name="anchor" type="string" required>
          Nombre visible del ancla. Longitud mínima: 1.
        </ResponseField>

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

          Opciones:

          * Nombre del ícono de [Font Awesome](https://fontawesome.com/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `fontawesome` en tu `docs.json`
          * Nombre del ícono de [Lucide](https://lucide.dev/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `lucide` en tu `docs.json`
          * Nombre del ícono de [Tabler](https://tabler.io/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `tabler` en tu `docs.json`
          * URL de un ícono alojado externamente
          * Ruta a un archivo de ícono en tu proyecto
          * Código SVG envuelto entre llaves

          Para íconos SVG personalizados:

          1. Convierte tu SVG con el [convertidor de 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 de 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 ícono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con íconos de Font Awesome.

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

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

          <Expandable title="color">
            <ResponseField name="light" type="string">
              Color del ancla para el modo claro. Debe ser un código hexadecimal que comience con `#`.
            </ResponseField>

            <ResponseField name="dark" type="string">
              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 se debe ocultar este ancla de forma predeterminada.
        </ResponseField>

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

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

      <Expandable title="dropdowns">
        <ResponseField name="dropdown" type="string" required>
          Nombre visible del desplegable. Longitud mínima: 1.
        </ResponseField>

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

          Opciones:

          * Nombre del ícono de [Font Awesome](https://fontawesome.com/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `fontawesome` en tu `docs.json`
          * Nombre del ícono de [Lucide](https://lucide.dev/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `lucide` en tu `docs.json`
          * Nombre del ícono de [Tabler](https://tabler.io/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `tabler` en tu `docs.json`
          * URL de un ícono alojado externamente
          * Ruta a un archivo de ícono en tu proyecto
          * Código SVG envuelto entre llaves

          Para íconos SVG personalizados:

          1. Convierte tu SVG con el [convertidor de 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 de 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 ícono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con íconos de Font Awesome.

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

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

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

    <ResponseField name="languages" type="array of object">
      Configuración del selector de idioma para sitios localizados. Consulta [Idiomas](/es/organize/navigation#languages).

      <Expandable title="languages">
        <ResponseField name="language" type="&#x22;ar&#x22; | &#x22;ca&#x22; | &#x22;cn&#x22; | &#x22;cs&#x22; | &#x22;de&#x22; | &#x22;en&#x22; | &#x22;es&#x22; | &#x22;fi&#x22; | &#x22;fr&#x22; | &#x22;fr-CA&#x22; | &#x22;he&#x22; | &#x22;hi&#x22; | &#x22;hu&#x22; | &#x22;id&#x22; | &#x22;it&#x22; | &#x22;ja&#x22; | &#x22;jp&#x22; | &#x22;ko&#x22; | &#x22;lv&#x22; | &#x22;nl&#x22; | &#x22;no&#x22; | &#x22;pl&#x22; | &#x22;pt&#x22; | &#x22;pt-BR&#x22; | &#x22;ro&#x22; | &#x22;ru&#x22; | &#x22;sv&#x22; | &#x22;tr&#x22; | &#x22;uk&#x22; | &#x22;uz&#x22; | &#x22;vi&#x22; | &#x22;zh&#x22; | &#x22;zh-Hans&#x22; | &#x22;zh-Hant&#x22;" required>
          Código de idioma en formato [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1).
        </ResponseField>

        <ResponseField name="default" type="boolean">
          Si este es el idioma predeterminado.
        </ResponseField>

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

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

    <ResponseField name="versions" type="array of object">
      Configuración del selector de versiones para sitios con múltiples versiones. Consulta [Versiones](/es/organize/navigation#versions).

      <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">
          Si esta es la versión predeterminada.
        </ResponseField>

        <ResponseField name="hidden" type="boolean">
          Si se debe ocultar esta 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="products" type="array of object">
      Selector de productos para sitios con múltiples productos. Consulta [Productos](/es/organize/navigation#products).

      <Expandable title="products">
        <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 ícono que se mostrará.

          Opciones:

          * Nombre del ícono de [Font Awesome](https://fontawesome.com/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `fontawesome` en tu `docs.json`
          * Nombre del ícono de [Lucide](https://lucide.dev/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `lucide` en tu `docs.json`
          * Nombre del ícono de [Tabler](https://tabler.io/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `tabler` en tu `docs.json`
          * URL de un ícono alojado externamente
          * Ruta a un archivo de ícono en tu proyecto
          * Código SVG envuelto entre llaves

          Para íconos SVG personalizados:

          1. Convierte tu SVG con el [convertidor de 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 de 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 ícono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con íconos de Font Awesome.

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

<ResponseField name="navigation.languages" type="array of object">
  Selector de idioma para sitios [multi-idioma](/es/organize/navigation#languages). Cada entrada puede incluir configuraciones específicas del idioma para `banner`, `footer` y `navbar`, además de la estructura de navegación.

  <Expandable title="navigation.languages">
    <ResponseField name="language" type="&#x22;ar&#x22; | &#x22;ca&#x22; | &#x22;cn&#x22; | &#x22;cs&#x22; | &#x22;de&#x22; | &#x22;en&#x22; | &#x22;es&#x22; | &#x22;fi&#x22; | &#x22;fr&#x22; | &#x22;fr-CA&#x22; | &#x22;he&#x22; | &#x22;hi&#x22; | &#x22;hu&#x22; | &#x22;id&#x22; | &#x22;it&#x22; | &#x22;ja&#x22; | &#x22;jp&#x22; | &#x22;ko&#x22; | &#x22;lv&#x22; | &#x22;nl&#x22; | &#x22;no&#x22; | &#x22;pl&#x22; | &#x22;pt&#x22; | &#x22;pt-BR&#x22; | &#x22;ro&#x22; | &#x22;ru&#x22; | &#x22;sv&#x22; | &#x22;tr&#x22; | &#x22;uk&#x22; | &#x22;uz&#x22; | &#x22;vi&#x22; | &#x22;zh&#x22; | &#x22;zh-Hans&#x22; | &#x22;zh-Hant&#x22;" required>
      Código de idioma en formato [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1).
    </ResponseField>

    <ResponseField name="default" type="boolean">
      Si este es el idioma predeterminado.
    </ResponseField>

    <ResponseField name="banner" type="object">
      Configuración del banner específica del idioma. Acepta las mismas opciones que el campo [`banner`](#banner) de nivel superior.
    </ResponseField>

    <ResponseField name="footer" type="object">
      Configuración del pie de página específica del idioma. Acepta las mismas opciones que el campo [`footer`](#footer) de nivel superior.
    </ResponseField>

    <ResponseField name="navbar" type="object">
      Configuración de la barra de navegación específica del idioma. Acepta las mismas opciones que el campo [`navbar`](#navbar) de nivel superior.
    </ResponseField>

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

<ResponseField name="navigation.versions" type="array of object">
  Selector de versiones para sitios con [múltiples versiones](/es/organize/navigation#versions).

  <Expandable title="navigation.versions">
    <ResponseField name="default" type="boolean">
      Establécelo en `true` para hacer esta la versión predeterminada. Si se omite, la primera versión del array es la predeterminada.
    </ResponseField>

    <ResponseField name="tag" type="string">
      Etiqueta de insignia que se muestra junto a la versión en el selector. Úsala para destacar versiones como `"Latest"`, `"Recommended"` o `"Beta"`.
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

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

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

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

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

<ResponseField name="navigation.directory" type="&#x22;none&#x22; | &#x22;accordion&#x22; | &#x22;card&#x22;">
  Diseño de directorio para páginas raíz en grupos de navegación. Cuando se establece, los grupos con una página `root` muestran automáticamente un listado de sus páginas secundarias debajo del contenido de la página. Los valores se heredan recursivamente a través del árbol de navegación. Los descendientes pueden sobreescribirlos. Consulta [Listados de directorio](/es/organize/navigation#directory-listings).
</ResponseField>

***

### `navbar`

**Tipo:** `object`

Enlaces y botones que se muestran en la barra de navegación superior.

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

  <Expandable title="navbar.links">
    <ResponseField name="type" type="&#x22;github&#x22; | &#x22;discord&#x22;">
      Tipo de enlace opcional. Omítelo para un enlace de texto estándar. Establécelo en `github` para enlazar a un repositorio de GitHub y mostrar el conteo de estrellas. Establécelo en `discord` para enlazar a un servidor de Discord y mostrar el número de usuarios en línea.
    </ResponseField>

    <ResponseField name="label" type="string">
      Texto del enlace. Obligatorio cuando `type` no está definido. Opcional para `github` y `discord`. Si se omite, Mintlify genera el texto a partir de los datos de la API.
    </ResponseField>

    <ResponseField name="href" type="string (uri)" required>
      Destino del enlace. Debe ser una URL externa válida. Para `github`, debe ser una URL de repositorio de GitHub. Para `discord`, debe ser una URL de invitación de Discord.
    </ResponseField>

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

      Opciones:

      * Nombre del ícono de [Font Awesome](https://fontawesome.com/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `fontawesome` en tu `docs.json`
      * Nombre del ícono de [Lucide](https://lucide.dev/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `lucide` en tu `docs.json`
      * Nombre del ícono de [Tabler](https://tabler.io/icons), si tienes la [propiedad](/es/organize/settings#param-icons) `icons.library` configurada como `tabler` en tu `docs.json`
      * URL de un ícono alojado externamente
      * Ruta a un archivo de ícono en tu proyecto
      * Código SVG envuelto entre llaves

      Para íconos SVG personalizados:

      1. Convierte tu SVG con el [convertidor de 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 de 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 ícono de [Font Awesome](https://fontawesome.com/icons). Solo se usa con íconos de Font Awesome.

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

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

  <Expandable title="navbar.primary">
    <ResponseField name="type" type="&#x22;button&#x22; | &#x22;github&#x22; | &#x22;discord&#x22;" required>
      Estilo del botón. Elige `button` para un botón estándar, `github` para un enlace a un repositorio de GitHub con conteo de estrellas, o `discord` para una invitación a Discord con conteo de usuarios en línea.
    </ResponseField>

    <ResponseField name="label" type="string">
      Texto del botón. Obligatorio cuando `type` es `button`. Opcional para `github` y `discord`.
    </ResponseField>

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

```json docs.json theme={null}
"navbar": {
  "links": [
    { "type": "github", "href": "https://github.com/your-org/your-repo" },
    { "label": "Comunidad", "href": "https://example.com/community" }
  ],
  "primary": {
    "type": "button",
    "label": "Comenzar",
    "href": "https://example.com/signup"
  }
}
```

***

### `footer`

**Tipo:** `object`

Contenido del pie de página y enlaces a redes sociales.

<ResponseField name="footer.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.

  Claves válidas: `x`, `website`, `facebook`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`, `x-twitter`, `earth-americas`, `bluesky`, `threads`, `reddit`, `podcast`

  ```json theme={null}
  "socials": {
    "x": "https://x.com/yourhandle",
    "github": "https://github.com/your-org"
  }
  ```
</ResponseField>

<ResponseField name="footer.links" type="array of object">
  Columnas de enlaces que se muestran en el pie de página. Máximo 4 columnas.

  <Expandable title="footer.links">
    <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="items">
        <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>

```json docs.json theme={null}
"footer": {
  "socials": {
    "x": "https://x.com/yourhandle",
    "github": "https://github.com/your-org"
  },
  "links": [
    {
      "header": "Empresa",
      "items": [
        { "label": "Blog", "href": "https://example.com/blog" },
        { "label": "Carreras", "href": "https://example.com/careers" }
      ]
    }
  ]
}
```

***

### `banner`

**Tipo:** `object`

Un banner para todo el sitio que se muestra en la parte superior de cada página.

<ResponseField name="banner.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.

  ```json theme={null}
  "content": "Acabamos de lanzar algo nuevo. [Más información](https://example.com)"
  ```
</ResponseField>

<ResponseField name="banner.dismissible" type="boolean">
  Si se debe mostrar un botón para descartar para que los usuarios puedan cerrar el banner. El valor predeterminado es `false`.
</ResponseField>

```json docs.json theme={null}
"banner": {
  "content": "Acabamos de lanzar algo nuevo. [Más información](https://example.com)",
  "dismissible": true
}
```

***

### `interaction`

**Tipo:** `object`

Controla el comportamiento de interacción del usuario para los elementos de navegación.

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

***

### `contextual`

**Tipo:** `object`

El menú contextual brinda a los usuarios acceso rápido a herramientas de IA y acciones de la página. Aparece en el encabezado de la página o en la barra lateral de la tabla de contenidos.

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

<ResponseField name="contextual.options" type="array" required>
  Acciones disponibles en el menú contextual. La primera opción del array aparece como la acción predeterminada.

  Opciones integradas:

  * `"add-mcp"`—Agrega tu servidor MCP a la configuración del usuario
  * `"aistudio"`—Envía la página actual a Google AI Studio
  * `"assistant"`—Abre el asistente de IA con la página actual como contexto
  * `"copy"`—Copia la página actual como Markdown en el portapapeles
  * `"chatgpt"`—Envía la página actual a ChatGPT
  * `"claude"`—Envía la página actual a Claude
  * `"cursor"`—Instala tu servidor MCP alojado en Cursor
  * `"devin"`—Envía la página actual a Devin
  * `"devin-mcp"`—Instala tu servidor MCP alojado en Devin
  * `"download-pdf"`—Descarga la página actual como un PDF
  * `"download-spec"`—Descarga las especificaciones de OpenAPI del despliegue (un solo archivo, o comprimidas en zip si hay varias)
  * `"grok"`—Envía la página actual a Grok
  * `"mcp"`—Copia la URL de tu servidor MCP en el portapapeles
  * `"perplexity"`—Envía la página actual a Perplexity
  * `"view"`—Ver la página actual como Markdown en una nueva pestaña
  * `"vscode"`—Instala tu servidor MCP alojado en VS Code
  * `"devin-desktop"`—Abre Devin Desktop con la página actual como contexto

  Define opciones personalizadas como objetos:

  <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 biblioteca de iconos, URLs, rutas o código SVG.
    </ResponseField>

    <ResponseField name="href" type="string or object" required>
      Destino del enlace. Puede ser una cadena de URL o un objeto con `base` y parámetros `query` opcionales.

      Valores de marcador de posición disponibles:

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

<ResponseField name="contextual.display" type="&#x22;header&#x22; | &#x22;toc&#x22;">
  Dónde mostrar las opciones contextuales. Elige `header` para mostrarlas en el menú contextual de la parte superior de la página, o `toc` para mostrarlas en la barra lateral de la tabla de contenidos. El valor predeterminado es `header`.
</ResponseField>

```json docs.json theme={null}
"contextual": {
  "options": ["copy", "view", "chatgpt", "claude"],
  "display": "header"
}
```

***

### `redirects`

**Tipo:** `array of object`

Redirecciones para páginas movidas, renombradas o eliminadas. Úsalas para preservar enlaces cuando reorganizas tu contenido.

<ResponseField name="redirects[].source" type="string" required>
  La ruta desde la que redirigir. Ejemplo: `/old-page`
</ResponseField>

<ResponseField name="redirects[].destination" type="string" required>
  La ruta a la que redirigir. Ejemplo: `/new-page`
</ResponseField>

<ResponseField name="redirects[].permanent" type="boolean">
  Si es `true`, emite una redirección permanente (308). Si es `false`, emite una redirección temporal (307). El valor predeterminado es `true`.
</ResponseField>

```json docs.json theme={null}
"redirects": [
  {
    "source": "/old-page",
    "destination": "/new-page"
  },
  {
    "source": "/temp-redirect",
    "destination": "/destination",
    "permanent": false
  }
]
```

***

### `errors`

**Tipo:** `object`

Configuración de páginas de error personalizadas.

<ResponseField name="errors.404" type="object">
  Configuración para la página de error 404 "Página no encontrada".

  <Expandable title="errors.404">
    <ResponseField name="redirect" type="boolean">
      Si se debe redirigir automáticamente a la página de inicio cuando no se encuentra una página. El valor predeterminado es `true`.
    </ResponseField>

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

    <ResponseField name="description" type="string">
      Descripción personalizada para la página 404. Admite formato MDX, incluidos enlaces, texto en negrita y cursiva, y componentes personalizados.
    </ResponseField>
  </Expandable>
</ResponseField>

```json docs.json theme={null}
"errors": {
  "404": {
    "redirect": false,
    "title": "Página no encontrada",
    "description": "La página que buscas no existe. [Ir al inicio](/)."
  }
}
```

***

### `variables`

**Tipo:** `object`

Variables globales para usar en toda tu documentación. Mintlify reemplaza los marcadores de posición `{{variableName}}` con los valores definidos en tiempo de compilación.

<ResponseField name="variables.[variableName]" type="string">
  Un par clave-valor donde la clave es el nombre de la variable y el valor es el texto de reemplazo.

  * Los nombres de variables pueden contener caracteres alfanuméricos y guiones.
  * Debes definir todas las variables referenciadas en tu contenido o la compilación fallará.
  * Mintlify sanitiza los valores para prevenir ataques XSS.
</ResponseField>

```json docs.json theme={null}
"variables": {
  "version": "2.0.0",
  "api-url": "https://api.example.com"
}
```

En tu contenido, referencia las variables con dobles llaves:

```mdx theme={null}
La versión actual es {{version}}. Realiza solicitudes a {{api-url}}.
```

***

### `metadata`

**Tipo:** `object`

Configuración de metadatos a nivel de página aplicada globalmente.

<ResponseField name="metadata.timestamp" type="boolean">
  Habilita una fecha de última modificación en todas las páginas. Cuando está habilitado, las páginas muestran la fecha en que el contenido fue modificado por última vez. El valor predeterminado es `false`.

  Puedes sobrescribir esta configuración en páginas individuales usando el campo de frontmatter `timestamp`. Consulta [Páginas](/es/organize/pages#last-modified-timestamp) para más detalles.
</ResponseField>

```json docs.json theme={null}
"metadata": {
  "timestamp": true
}
```
