> ## 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.

# Migrar páginas de API en MDX a navegación de OpenAPI

> Migra a la generación automatizada de OpenAPI con una navegación flexible.

Si actualmente estás usando páginas MDX individuales para tus endpoints de API, puedes migrar a la generación automática de páginas a partir de tu especificación de OpenAPI, sin perder la posibilidad de personalizar cada página. Esto puede ayudarte a reducir la cantidad de archivos que necesitas mantener y a mejorar la coherencia de la documentación de tu API.

Puedes definir metadata y contenido para cada endpoint en tu especificación de OpenAPI y organizar los endpoints donde quieras dentro de tu navegación.

<div id="cli-migration">
  ## Migración con la CLI
</div>

El comando `mint migrate-mdx` es la forma recomendada de migrar de páginas de endpoints en MDX a páginas autogeneradas.

Este comando:

* Analiza la estructura de navigation en `docs.json`.
* Identifica las páginas MDX que generan páginas de endpoints de OpenAPI.
* Extrae el contenido de los archivos MDX y lo mueve a la extensión `x-mint` en tu especificación de OpenAPI.
* Actualiza tu `docs.json` para hacer referencia directamente a los endpoints de OpenAPI en lugar de a archivos MDX.
* Elimina los archivos MDX de endpoints originales.

<Info>
  Si ya tienes `x-mint` definido para un endpoint y también tienes una página MDX con contenido para ese endpoint, el contenido MDX sobrescribirá la configuración existente de `x-mint`.

  Si tienes varias páginas MDX para el mismo endpoint con contenido diferente, el script usará el contenido de la página que aparezca de última en tu `docs.json`.

  La herramienta de migración no admite previsualizar los cambios antes de aplicarlos.
</Info>

<Steps>
  <Step title="Prepara tu especificación de OpenAPI.">
    Asegúrate de que tu especificación de OpenAPI sea válida e incluya todos los endpoints que quieres documentar.

    Cualquier página MDX que quieras migrar debe tener el frontmatter `openapi:` que haga referencia a un endpoint.

    <Tip>
      Valida tu archivo de OpenAPI usando el [Swagger Editor](https://editor.swagger.io/) o la [Mint CLI](https://www.npmjs.com/package/mint).
    </Tip>
  </Step>

  <Step title="Instala la Mint CLI">
    Si es necesario, instala o actualiza la [Mint CLI](/es/installation).
  </Step>

  <Step title="Ejecuta el comando de migración.">
    ```bash theme={null}
    mint migrate-mdx
    ```
  </Step>
</Steps>

<div id="manual-migration-steps">
  ## Pasos de migración manual
</div>

<Steps>
  <Step title="Prepara tu especificación de OpenAPI.">
    Asegúrate de que tu especificación de OpenAPI sea válida e incluya todos los endpoints que quieras documentar.

    Para cualquier endpoint en el que quieras personalizar los metadatos o el contenido, agrega la extensión `x-mint` al endpoint. Consulta la [extensión x-mint](/es/api-playground/openapi-setup#x-mint-extension) para más detalles.

    Para cualquier endpoint que quieras excluir de tu documentación, agrega la extensión `x-hidden` al endpoint.

    <Info>
      Valida tu archivo OpenAPI usando el [Swagger Editor](https://editor.swagger.io/) o la [CLI de Mint](https://www.npmjs.com/package/mint).
    </Info>
  </Step>

  <Step title="Actualiza tu estructura de navegación.">
    Reemplaza las referencias a páginas MDX con endpoints de OpenAPI en tu `docs.json`.

    ```json theme={null}
    "navigation": {
      "groups": [
        {
          "group": "API Reference",
          "openapi": "/path/to/openapi.json",
          "pages": [
            "overview",
            "authentication",
            "introduction",
            "GET /health",
            "quickstart", 
            "POST /users",
            "GET /users/{id}",
            "advanced-features"
          ]
        }
      ]
    }
    ```
  </Step>

  <Step title="Elimina los archivos MDX antiguos.">
    Después de verificar que tu nueva navegación funciona correctamente, elimina los archivos MDX de endpoints que ya no necesites.
  </Step>
</Steps>

<div id="navigation-patterns">
  ## Patrones de navegación
</div>

Puedes personalizar cómo se muestra la documentación de tu API en tu navigation.

<div id="mixed-content-navigation">
  ### navigation de contenido mixto
</div>

Combina páginas de API generadas automáticamente con otras páginas:

```json theme={null}
"navigation": {
  "groups": [
    {
      "group": "Referencia de API",
      "openapi": "openapi.json",
      "pages": [
        "api/overview",
        "GET /users",
        "POST /users", 
        "api/authentication"
      ]
    }
  ]
}
```

<div id="multiple-api-versions">
  ### Varias versiones de la API
</div>

Organiza distintas versiones de la API usando pestañas o groups:

```json theme={null}
"navigation": {
  "tabs": [
    {
      "tab": "API v1",
      "openapi": "specs/v1.json"
    },
    {
      "tab": "API v2", 
      "openapi": "specs/v2.json"
    }
  ]
}
```

<div id="when-to-use-individual-mdx-pages">
  ## Cuándo usar páginas MDX individuales
</div>

Considera mantener páginas MDX individuales cuando necesites:

* Contenido personalizado extenso por endpoint, como componentes de React o ejemplos largos.
* Diseños de página únicos.
* Enfoques de documentación experimentales para endpoints específicos.

Para la mayoría de los casos de uso, la navigation de OpenAPI ofrece una mejor mantenibilidad y coherencia.
