+
+De forma predeterminada, el miembro del equipo que creó tu organización de Mintlify tiene acceso de editor. Agrega editores adicionales en la página [Members](https://dashboard.mintlify.com/settings/organization/members) de tu panel.
+
+Los puestos de editor se facturan según el uso y puedes tener tantos editores como necesites. Consulta nuestra [página de precios](https://mintlify.com/pricing) para más detalles.
diff --git a/es/advanced/dashboard/roles.mdx b/es/advanced/dashboard/roles.mdx
new file mode 100644
index 000000000..eba3b9b15
--- /dev/null
+++ b/es/advanced/dashboard/roles.mdx
@@ -0,0 +1,26 @@
+---
+title: "Roles"
+description: "Controla el acceso a tu panel con roles."
+---
+
+
+ La funcionalidad RBAC está disponible en el [plan Enterprise](https://mintlify.com/pricing?ref=rbac).
+
+
+Mintlify ofrece dos niveles de acceso al panel: Editor y Admin.
+
+A continuación se describen las acciones restringidas al rol de Admin:
+
+| | Editor | Admin |
+| ----------------------- | :----: | :---: |
+| Actualizar roles de usuario | ❌ | ✅ |
+| Eliminar usuarios | ❌ | ✅ |
+| Invitar usuarios admin | ❌ | ✅ |
+| Gestionar y actualizar la facturación | ❌ | ✅ |
+| Actualizar dominio personalizado | ❌ | ✅ |
+| Actualizar origen de Git | ❌ | ✅ |
+| Eliminar organización | ❌ | ✅ |
+
+El resto de acciones del panel están disponibles para ambos roles.
+
+Puedes invitar a tantos admins como quieras, pero recomendamos limitar el acceso de admin a quienes realmente lo necesiten.
diff --git a/es/advanced/dashboard/sso.mdx b/es/advanced/dashboard/sso.mdx
new file mode 100644
index 000000000..ba109dd6d
--- /dev/null
+++ b/es/advanced/dashboard/sso.mdx
@@ -0,0 +1,135 @@
+---
+title: "Inicio de sesión único (SSO)"
+description: "Personaliza cómo puede iniciar sesión tu equipo en el panel de administración"
+---
+
+
+ La función de SSO está disponible en el [plan Enterprise](https://mintlify.com/pricing?ref=sso).
+
+
+Usa el inicio de sesión único en tu panel mediante SAML y OIDC. Si usas Okta, Google Workspace o Microsoft Entra, contamos con documentación específica del proveedor para configurar SSO. Si usas otro proveedor, [contáctanos](mailto:support@mintlify.com).
+
+
+ ## Okta
+
+
+
+
+
+
+ En `Applications`, haz clic para crear una nueva integración de aplicación con SAML 2.0.
+
+
+ Ingresa lo siguiente:
+ * Single sign-on URL (proporcionada por Mintlify)
+ * Audience URI (proporcionado por Mintlify)
+ * Name ID Format: `EmailAddress`
+ * Attribute Statements:
+ | Name | Name format | Value
+ | ---- | ----------- | -----
+ | `firstName` | Basic | `user.firstName` |
+ | `lastName` | Basic | `user.lastName` |
+
+
+ Una vez que la aplicación esté configurada, ve a la pestaña Sign On y envíanos la metadata URL.
+ Habilitaremos la conexión desde nuestro lado con esta información.
+
+
+
+
+
+
+ En `Applications`, haz clic para crear una nueva integración de aplicación con OIDC.
+ Debes elegir el tipo de aplicación `Web Application`.
+
+
+ Selecciona el grant type Authorization Code e ingresa la Redirect URI proporcionada por Mintlify.
+
+
+ Una vez que la aplicación esté configurada, ve a la pestaña General y localiza el client ID y el client secret.
+ Proporciónanos esta información de forma segura, junto con la URL de tu instancia de Okta (por ejemplo, `.okta.com`). Puedes enviarla mediante un servicio como 1Password o SendSafely.
+
+
+
+
+
+
+ ## Google Workspace
+
+
+
+
+
+
+ En `Web and mobile apps`, selecciona `Add custom SAML app` en el menú desplegable `Add app`.
+
+ 
+
+
+
+ Copia la URL de SSO, el Entity ID y el certificado x509 proporcionados y envíalos al equipo de Mintlify.
+
+ 
+
+
+
+ En la página Service provider details, ingresa lo siguiente:
+ * ACS URL (proporcionada por Mintlify)
+ * Entity ID (proporcionado por Mintlify)
+ * Name ID format: `EMAIL`
+ * Name ID: `Basic Information > Primary email`
+
+
+ 
+
+
+ En la página siguiente, ingresa las siguientes declaraciones de atributos:
+ | Google Directory Attribute | App Attribute |
+ | -------------------------- | ------------- |
+ | `First name` | `firstName` |
+ | `Last name` | `lastName` |
+
+ Cuando completes este paso y los usuarios estén asignados a la aplicación, avísanos y habilitaremos el SSO para tu cuenta.
+
+
+
+
+
+
+ ## Microsoft Entra
+
+
+
+
+
+
+ 1. En "Enterprise applications", selecciona **New application**.
+ 2. Selecciona **Create your own application** y elige "Integrate any other application you don't find in the gallery (Non-gallery)."
+
+
+ Ve a la página de configuración de Single Sign-On y selecciona **SAML**. En "Basic SAML Configuration", ingresa lo siguiente:
+ * Identifier (Entity ID): el Audience URI proporcionado por Mintlify.
+ * Reply URL (Assertion Consumer Service URL): la ACS URL proporcionada por Mintlify.
+
+ Deja los demás valores en blanco y selecciona **Save**.
+
+
+ Edita la sección Attributes & Claims:
+ 1. Selecciona **Unique User Identifier (Name ID)** en "Required Claim".
+ 2. Cambia el Source attribute para usar `user.primaryauthoritativeemail`.
+ 3. En Additional claims, crea las siguientes claims:
+ | Name | Value |
+ | ---- | ----- |
+ | `firstName` | `user.givenname` |
+ | `lastName` | `user.surname` |
+
+
+ Una vez que la aplicación esté configurada, ve a la sección "SAML Certificates" y envíanos el App Federation Metadata URL.
+ Habilitaremos la conexión por nuestra parte con esta información.
+
+
+ Ve a "Users and groups" en tu aplicación de Entra y agrega a los usuarios que deban tener acceso a tu panel.
+
+
+
+
\ No newline at end of file
diff --git a/es/advanced/subpath/cloudflare.mdx b/es/advanced/subpath/cloudflare.mdx
new file mode 100644
index 000000000..023cc97bf
--- /dev/null
+++ b/es/advanced/subpath/cloudflare.mdx
@@ -0,0 +1,208 @@
+---
+title: "Cloudflare"
+description: "Aloja la documentación en una subruta personalizada con Cloudflare Workers"
+---
+
+import Propagating from "/snippets/es/custom-subpath-propagating.mdx";
+
+Para alojar tu documentación en una subruta personalizada como `yoursite.com/docs` con Cloudflare, deberás crear y configurar un Cloudflare Worker.
+
+
+ Antes de comenzar, necesitas una cuenta de Cloudflare y un nombre de dominio (que puede gestionarse dentro o fuera de Cloudflare).
+
+
+
+
+ ## Estructura del repositorio
+
+
+Los archivos de documentación deben organizarse dentro del repositorio para que coincidan con la estructura de subruta que elijas. Por ejemplo, si deseas que tu documentación esté en `yoursite.com/docs`, crea un directorio `docs/` con todos los archivos de documentación.
+
+
+ ## Configura un Cloudflare Worker
+
+
+Crea un Cloudflare Worker siguiendo la [guía de inicio de Cloudflare Workers](https://developers.cloudflare.com/workers/get-started/dashboard/), si aún no lo has hecho.
+
+
+ Si tu proveedor de DNS es Cloudflare, no uses el proxy para el registro CNAME.
+
+
+
+ ### Proxies con implementaciones de Vercel
+
+
+Si usas Cloudflare como proxy con implementaciones de Vercel, debes asegurarte de configurarlo correctamente para evitar conflictos con la verificación de dominio de Vercel y la emisión de certificados SSL.
+
+Una configuración de proxy incorrecta puede impedir que Vercel emita certificados SSL de Let's Encrypt y provocar errores en la verificación de dominio.
+
+
+ #### Lista de rutas permitidas requerida
+
+
+Tu Cloudflare Worker debe permitir el tráfico a estas rutas específicas sin bloquear ni redirigir:
+
+- `/.well-known/acme-challenge/*` - Obligatorio para la verificación de certificados de Let's Encrypt
+- `/.well-known/vercel/*` - Obligatorio para la verificación de dominios de Vercel
+
+Aunque Cloudflare gestiona automáticamente muchas reglas de verificación, crear reglas personalizadas adicionales puede bloquear inadvertidamente este tráfico crítico.
+
+
+ #### Requisitos para el reenvío de encabezados
+
+
+Asegúrate de que el encabezado `HOST` se reenvíe correctamente en la configuración de tu Worker. Si los encabezados no se reenvían adecuadamente, las solicitudes de verificación fallarán.
+
+
+ ### Configurar el enrutamiento
+
+
+En tu panel de Cloudflare, selecciona **Edit Code** y agrega el siguiente script al código de tu Worker. Consulta la [documentación de Cloudflare](https://developers.cloudflare.com/workers-ai/get-started/dashboard/#development) para obtener más información sobre cómo editar un Worker.
+
+
+ Reemplaza `[SUBDOMAIN]` por tu subdominio único, `[YOUR_DOMAIN]` por la URL base de tu sitio web y `/docs` por la subruta que desees si es diferente.
+
+
+```javascript
+addEventListener("fetch", (event) => {
+ event.respondWith(handleRequest(event.request));
+});
+
+async function handleRequest(request) {
+ try {
+ const urlObject = new URL(request.url);
+
+ // Si la solicitud es a una ruta de verificación de Vercel, déjala pasar
+ if (urlObject.pathname.startsWith('/.well-known/')) {
+ return await fetch(request);
+ }
+
+ // Si la solicitud es al subdirectorio /docs
+ if (/^\/docs/.test(urlObject.pathname)) {
+ // Entonces hacer proxy a Mintlify
+ const DOCS_URL = "[SUBDOMAIN].mintlify.dev";
+ const CUSTOM_URL = "[YOUR_DOMAIN]";
+
+ let url = new URL(request.url);
+ url.hostname = DOCS_URL;
+
+ let proxyRequest = new Request(url, request);
+
+ proxyRequest.headers.set("Host", DOCS_URL);
+ proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_URL);
+ proxyRequest.headers.set("X-Forwarded-Proto", "https");
+ // Si estás desplegando en Vercel, conserva la IP del cliente
+ proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP"));
+
+ return await fetch(proxyRequest);
+ }
+ } catch (error) {
+ // Si no se encuentra ninguna coincidencia, realizar la solicitud normal
+ return await fetch(request);
+ }
+}
+```
+
+Selecciona **Deploy** y espera a que los cambios se propaguen.
+
+
+
+
+
+ ### Prueba tu Worker
+
+
+Después de desplegar tu código, prueba tu Worker para asegurarte de que redirige a tu documentación de Mintlify.
+
+1. Prueba usando la URL de vista previa del Worker: `your-worker.your-subdomain.workers.dev/docs`
+2. Verifica que el Worker redirige a tu documentación de Mintlify y a tu sitio web.
+
+
+ ### Agregar un dominio personalizado
+
+
+1. En tu [panel de Cloudflare](https://dash.cloudflare.com/), ve a tu Worker.
+2. Ve a **Settings > Domains & Routes > Add > Custom Domain**.
+3. Agrega tu dominio.
+
+
+ Recomendamos agregar tu dominio tanto con como sin `www.`.
+
+
+Consulta [Add a custom domain](https://developers.cloudflare.com/workers/configuration/routing/custom-domains/#add-a-custom-domain) en la documentación de Cloudflare para obtener más información.
+
+
+ ### Resolver conflictos de DNS
+
+
+Si tu dominio ya apunta a otro servicio, debes eliminar el registro DNS existente. Tu Cloudflare Worker debe estar configurado para gestionar todo el tráfico de tu dominio.
+
+1. Elimina el registro DNS existente para tu dominio. Consulta [Delete DNS records](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/#delete-dns-records) en la documentación de Cloudflare para obtener más información.
+2. Vuelve a tu Worker y añade tu dominio personalizado.
+
+
+ ## Enrutamiento personalizado en Webflow
+
+
+Si usas Webflow para alojar tu sitio principal y quieres servir la documentación de Mintlify en `/docs` dentro del mismo dominio, tendrás que configurar un enrutamiento personalizado con Cloudflare Workers para enrutar mediante proxy todo el tráfico que no sea de la documentación hacia tu sitio principal.
+
+
+ Asegúrate de que tu sitio principal esté configurado en una landing page antes de desplegar este Worker; de lo contrario, los visitantes de tu sitio principal verán errores.
+
+
+1. En Webflow, configura una landing page para tu sitio principal, por ejemplo `landing.yoursite.com`. Esta será la página que verán los visitantes cuando ingresen a tu sitio.
+2. Despliega tu sitio principal en la landing page. Esto garantiza que tu sitio principal siga siendo accesible mientras configuras el Worker.
+3. Para evitar conflictos, actualiza cualquier URL absoluta en tu sitio principal para que sea relativa.
+4. En Cloudflare, selecciona **Edit Code** y agrega el siguiente script en el código de tu Worker.
+
+ Reemplaza `[SUBDOMAIN]` con tu subdominio único, `[YOUR_DOMAIN]` con la URL base de tu sitio web, `[LANDING_DOMAIN]` con la URL de tu landing page y `/docs` con la subruta que desees, si es diferente.
+
+```javascript
+ addEventListener("fetch", (event) => {
+ event.respondWith(handleRequest(event.request));
+ });
+ async function handleRequest(request) {
+ try {
+ const urlObject = new URL(request.url);
+
+ // Si la solicitud es a una ruta de verificación de Vercel, deja que pase
+ if (urlObject.pathname.startsWith('/.well-known/')) {
+ return await fetch(request);
+ }
+
+ // Si la solicitud es al subdirectorio de docs
+ if (/^\/docs/.test(urlObject.pathname)) {
+ // Proxy hacia Mintlify
+ const DOCS_URL = "[SUBDOMAIN].mintlify.dev";
+ const CUSTOM_URL = "[YOUR_DOMAIN]";
+ let url = new URL(request.url);
+ url.hostname = DOCS_URL;
+ let proxyRequest = new Request(url, request);
+ proxyRequest.headers.set("Host", DOCS_URL);
+ proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_URL);
+ proxyRequest.headers.set("X-Forwarded-Proto", "https");
+ // Si se despliega en Vercel, conservar la IP del cliente
+ proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP"));
+ return await fetch(proxyRequest);
+ }
+ // Redirige todo lo demás al sitio principal
+ const MAIN_SITE_URL = "[LANDING_DOMAIN]";
+ if (MAIN_SITE_URL && MAIN_SITE_URL !== "[LANDING_DOMAIN]") {
+ let mainSiteUrl = new URL(request.url);
+ mainSiteUrl.hostname = MAIN_SITE_URL;
+ return await fetch(mainSiteUrl, {
+ method: request.method,
+ headers: request.headers,
+ body: request.body
+ });
+ }
+ } catch (error) {
+ // Si no se encuentra ninguna acción, servir la solicitud normal
+ return await fetch(request);
+ }
+ }
+```
+
+5. Selecciona **Deploy** y espera a que los cambios se propaguen.
+
+
diff --git a/es/advanced/subpath/route53-cloudfront.mdx b/es/advanced/subpath/route53-cloudfront.mdx
new file mode 100644
index 000000000..db17b9d3d
--- /dev/null
+++ b/es/advanced/subpath/route53-cloudfront.mdx
@@ -0,0 +1,237 @@
+---
+title: "AWS Route 53 y CloudFront"
+sidebarTitle: "AWS"
+description: "Aloja la documentación en una subruta personalizada con servicios de AWS"
+---
+
+import Propagating from "/snippets/es/custom-subpath-propagating.mdx";
+
+Para alojar tu documentación en una subruta personalizada como `yoursite.com/docs` con AWS Route 53 y CloudFront, debes configurar tu proveedor de DNS para que apunte a tu distribución de CloudFront.
+
+
+
+ ## Estructura del repositorio
+
+
+Los archivos de documentación deben organizarse en tu repositorio para ajustarse a la estructura de subruta que elijas. Por ejemplo, si quieres que tu documentación esté en `yoursite.com/docs`, crea un directorio `docs/` con todos tus archivos de documentación.
+
+
+ ## Descripción general
+
+
+Encamina el tráfico a estas rutas con una política de caché **CachingDisabled**:
+
+- `/.well-known/acme-challenge/*` - Requerido para la verificación de certificados de Let's Encrypt
+- `/.well-known/vercel/*` - Requerido para la verificación de dominio
+- `/docs/*` - Requerido para el enrutamiento por subruta
+- `/docs/` - Requerido para el enrutamiento por subruta
+
+Encamina el tráfico a esta ruta con una política de caché **CachingEnabled**:
+
+- `/mintlify-assets/_next/static/*`
+- `Default (*)` - La página de inicio de tu sitio web
+
+Todos los comportamientos deben tener una **política de solicitud de origen** de `AllViewerExceptHostHeader`.
+
+
+
+
+ ## Crear una distribución de CloudFront
+
+
+1. Ve a [CloudFront](https://aws.amazon.com/cloudfront) en la consola de AWS.
+2. Selecciona **Create distribution**.
+
+
+ 
+
+
+3. En Origin domain, ingresa `[SUBDOMAIN].mintlify.dev`, donde `[SUBDOMAIN]` es el subdominio único de tu proyecto.
+
+
+ 
+
+
+4. En "Web Application Firewall (WAF)", habilita las protecciones de seguridad.
+
+
+ 
+
+
+5. Deja el resto de la configuración con los valores predeterminados.
+6. Selecciona **Create distribution**.
+
+
+ ## Agregar origen predeterminado
+
+
+1. Después de crear la distribución, ve a la pestaña "Origins".
+
+
+ 
+
+
+2. Busca la URL de staging que refleje el dominio principal. Esto varía mucho según cómo esté alojada tu landing page. Por ejemplo, la URL de staging de Mintlify es [mintlify-landing-page.vercel.app](https://mintlify-landing-page.vercel.app).
+
+
+ Si tu landing page está alojada en Webflow, usa la URL de staging de Webflow. Se verá como `.webflow.io`.
+
+ Si usas Vercel, utiliza el dominio `.vercel.app` disponible para cada proyecto.
+
+
+3. Crea un nuevo Origin y agrega tu URL de staging como el "Origin domain".
+
+
+ 
+
+
+A este punto, deberías tener dos Origins: uno con `[SUBDOMAIN].mintlify.app` y otro con tu URL de staging.
+
+
+ 
+
+
+
+ ## Configurar comportamientos
+
+
+Los comportamientos en CloudFront permiten controlar la lógica de subrutas. A alto nivel, queremos crear la siguiente lógica:
+
+- **Si un usuario llega a tu subruta personalizada**, ir a `[SUBDOMAIN].mintlify.dev`.
+- **Si un usuario llega a cualquier otra página**, ir a la página de inicio actual.
+
+1. Navega a la pestaña "Behaviors" de tu distribución de CloudFront.
+
+
+ 
+
+
+2. Selecciona el botón **Create behavior** y crea los siguientes comportamientos.
+
+
+ ### `/.well-known/*`
+
+
+Crea comportamientos para las rutas de verificación de dominios de Vercel con un **Patrón de ruta** `/.well-known/*` y configura **Origin and origin groups** a la URL de tu documentación.
+
+Para "Cache policy", selecciona **CachingDisabled** para que estas solicitudes de verificación pasen sin caché.
+
+
+ 
+
+
+
+Si `.well-known/*` es demasiado genérico, puedes reducirlo a un mínimo de 2 comportamientos para Vercel:
+ - `/.well-known/vercel/*` - Requerido para la verificación de dominios de Vercel
+ - `/.well-known/acme-challenge/*` - Requerido para la verificación de certificados de Let's Encrypt
+
+
+
+ ### Tu subruta personalizada
+
+
+Crea un comportamiento con un **Patrón de ruta** de la subruta que elijas, por ejemplo `/docs`, con **Origen y grupos de origen** apuntando a la URL `.mintlify.dev` (en nuestro caso `acme.mintlify.dev`).
+
+- Configura "Cache policy" en **CachingOptimized**.
+- Configura "Origin request policy" en **AllViewerExceptHostHeader**.
+- Configura "Viewer Protocol Policy" en **Redirect HTTP to HTTPS**.
+
+
+ 
+
+
+
+ ### Tu subruta personalizada con comodín
+
+
+Crea un comportamiento con un **patrón de ruta** de la subruta que elijas seguida de `/*`, por ejemplo `/docs/*`, y **origen y grupos de origen** que apunten a la misma URL `.mintlify.dev`.
+
+Estos ajustes deben coincidir exactamente con el comportamiento de tu subruta base, con la excepción del **patrón de ruta**.
+
+- Configura "Cache policy" como **CachingOptimized**.
+- Configura "Origin request policy" como **AllViewerExceptHostHeader**.
+- Configura "Viewer protocol policy" como **Redirect HTTP to HTTPS**.
+
+
+ ### `/mintlify-assets/_next/static/*`
+
+
+- Establece la "Cache policy" en **CachingOptimized**
+ - Establece la "Origin request policy" en **AllViewerExceptHostHeader**
+ - Establece la "Viewer protocol policy" en **Redirect HTTP to HTTPS**
+
+
+ ### `Default (*)`
+
+
+Por último, vamos a editar el comportamiento `Default (*)`.
+
+
+ 
+
+
+1. Cambia **Origin and origin groups** del comportamiento predeterminado a la URL de staging (en nuestro caso, `mintlify-landing-page.vercel.app`).
+
+
+ 
+
+
+2. Selecciona **Save changes**.
+
+
+ ### Verifica que los comportamientos estén configurados correctamente
+
+
+Si sigues los pasos anteriores, tus comportamientos deberían verse así:
+
+
+ 
+
+
+
+ ## Vista previa de la distribución
+
+
+Ahora puedes comprobar si tu distribución está configurada correctamente yendo a la pestaña "General" y visitando la URL de **Distribution domain name**.
+
+
+ 
+
+
+Todas las páginas deberían redirigir a tu página principal, pero si añades la subruta que elegiste, por ejemplo `/docs`, a la URL, deberías ver que te lleva a tu instancia de documentación de Mintlify.
+
+
+ ## Conectar con Route53
+
+
+Ahora vamos a llevar la funcionalidad de la distribución de CloudFront a tu dominio principal.
+
+
+ Para esta sección, también puedes consultar la guía oficial de AWS sobre [Configurar
+ Amazon Route 53 para enrutar tráfico a una
+ distribución de CloudFront](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html#routing-to-cloudfront-distribution-config)
+
+
+1. Ve a [Route53](https://aws.amazon.com/route53) en la consola de AWS.
+2. Entra en la “Hosted zone” de tu dominio principal.
+3. Selecciona **Create record**.
+
+
+ 
+
+
+4. Activa `Alias` y luego, en **Route traffic to**, selecciona la opción `Alias to CloudFront distribution`.
+
+
+ 
+
+
+5. Selecciona **Create records**.
+
+
+ Es posible que debas eliminar el registro A existente si ya hay uno.
+
+
+Tu documentación ahora está activa en la subruta elegida de tu dominio principal.
+
+
\ No newline at end of file
diff --git a/es/advanced/subpath/vercel.mdx b/es/advanced/subpath/vercel.mdx
new file mode 100644
index 000000000..32a51d52b
--- /dev/null
+++ b/es/advanced/subpath/vercel.mdx
@@ -0,0 +1,99 @@
+---
+title: "Vercel"
+description: "Aloja la documentación en una subruta personalizada con Vercel"
+---
+
+import { VercelJsonGenerator } from "/snippets/es/vercel-json-generator.mdx";
+
+
+
+ ## archivo vercel.json
+
+
+El archivo `vercel.json` define cómo se crea y se despliega tu proyecto. Se encuentra en el directorio raíz y controla varios aspectos del despliegue, incluidos el ruteo, las redirecciones, los encabezados y la configuración de compilación.
+
+Usamos la opción `rewrites` para reenviar (proxy) solicitudes desde tu dominio principal hacia tu documentación.
+
+Las reglas de reescritura asignan solicitudes entrantes a otros destinos sin cambiar la URL en el navegador. Cuando alguien visita `yoursite.com/docs`, Vercel obtendrá internamente contenido de `your-subdomain.mintlify.dev/docs`, pero el usuario seguirá viendo `yoursite.com/docs` en su navegador. Esto es diferente de las redirecciones, que enviarían a los usuarios a una URL completamente distinta.
+
+Puedes personalizar la subruta con cualquier valor que prefieras, como `/docs`, `/help` o `/guides`. Además, puedes usar subrutas con varios niveles, como `/product/docs`.
+
+
+ ## Estructura del repositorio
+
+
+Tus archivos de documentación deben organizarse dentro de tu repositorio para ajustarse a la estructura de subruta que elijas. Por ejemplo, si quieres que tu documentación esté en `yoursite.com/docs`, crea un directorio `docs/` con todos tus archivos de documentación.
+
+
+ ## Configuración
+
+
+Para alojar tu documentación en una subruta personalizada con Vercel, añade la siguiente configuración a tu archivo `vercel.json`. Este ejemplo usa `/docs`, pero puedes reemplazarlo por cualquier subruta:
+
+```json
+{
+ "rewrites": [
+ {
+ "source": "/docs",
+ "destination": "https://[subdomain].mintlify.dev/docs"
+ },
+ {
+ "source": "/docs/:match*",
+ "destination": "https://[subdomain].mintlify.dev/docs/:match*"
+ }
+ ]
+}
+```
+
+* **`source`**: El patrón de ruta en tu dominio que activa la reescritura.
+* **`destination`**: A dónde se debe enrutar la solicitud mediante proxy.
+* **`:match*`**: Un comodín que captura cualquier segmento de ruta después de tu subruta.
+
+Para obtener más información, consulta [Configuring projects with vercel.json: Rewrites](https://vercel.com/docs/projects/project-configuration#rewrites) en la documentación de Vercel.
+
+
+
+ ### Generar redirecciones
+
+
+Ingresa tu subdominio y subdirectorio personalizado para generar las reglas en tu archivo `vercel.json`.
+
+
+
+
+ ## Uso de proxies externos con Vercel
+
+
+Si utilizas un proxy externo (como Cloudflare o AWS CloudFront) delante de tu implementación en Vercel, debes configurarlo correctamente para evitar conflictos con la verificación de dominio de Vercel y la provisión de certificados SSL.
+
+Una configuración incorrecta del proxy puede impedir que Vercel emita certificados SSL de Let's Encrypt y provocar fallos en la verificación de dominio.
+
+Consulta los [proveedores compatibles](https://vercel.com/guides/how-to-setup-verified-proxy#supported-providers-verified-proxy-lite) en la documentación de Vercel.
+
+
+ ### Lista de rutas permitidas requerida
+
+
+Tu proxy externo debe permitir el tráfico a estas rutas específicas sin bloquear, redirigir ni aplicar caché de forma agresiva:
+
+- `/.well-known/acme-challenge/*` - Necesario para la verificación de certificados de Let's Encrypt
+- `/.well-known/vercel/*` - Necesario para la verificación de dominios de Vercel
+- `/mintlify-assets/_next/static/*` - Necesario para los recursos estáticos
+
+Estas rutas deben pasar directamente a tu despliegue en Vercel sin modificaciones.
+
+
+ ### Requisitos para el reenvío de encabezados
+
+
+Asegúrate de que tu proxy reenvíe correctamente el encabezado `HOST`. Sin un reenvío adecuado de ese encabezado, las solicitudes de verificación fallarán.
+
+
+ ### Probar la configuración del proxy
+
+
+Para verificar que tu proxy esté configurado correctamente:
+
+1. Comprueba que `https://[yourdomain].com/.well-known/vercel/` devuelva una respuesta.
+2. Asegúrate de que los certificados SSL se estén aprovisionando correctamente en tu panel de Vercel.
+3. Verifica que la verificación del dominio se complete correctamente.
\ No newline at end of file
diff --git a/es/ai/contextual-menu.mdx b/es/ai/contextual-menu.mdx
new file mode 100644
index 000000000..c425f8269
--- /dev/null
+++ b/es/ai/contextual-menu.mdx
@@ -0,0 +1,162 @@
+---
+title: "Menú contextual"
+description: "Añade integraciones de IA con un clic a tu documentación"
+icon: "square-menu"
+---
+
+import { PreviewButton } from "/snippets/previewbutton.jsx"
+import IconsRequired from "/snippets/es/icons-required.mdx";
+
+El menú contextual ofrece acceso rápido a contenido optimizado para IA e integraciones directas con herramientas de IA populares. Cuando los usuarios abren el menú contextual en cualquier página, pueden copiar contenido para usarlo como contexto en herramientas de IA o iniciar conversaciones en ChatGPT, Claude, Perplexity o en una herramienta personalizada de su elección, con su documentación ya cargada como contexto.
+
+
+
+ ## Opciones del menú
+
+
+El menú contextual incluye varias opciones predefinidas que puedes habilitar agregando su identificador a tu configuración.
+
+| Opción | Identificador | Descripción |
+|:--------|:------------|:-------------|
+| **Copiar página** | `copy` | Copia la página actual en formato Markdown para pegarla como contexto en herramientas de IA |
+| **Ver como Markdown** | `view` | Abre la página actual en formato Markdown |
+| **Abrir en ChatGPT** | `chatgpt` | Crea una conversación en ChatGPT con la página actual como contexto |
+| **Abrir en Claude** | `claude` | Crea una conversación en Claude con la página actual como contexto |
+| **Abrir en Perplexity** | `perplexity` | Crea una conversación en Perplexity con la página actual como contexto |
+| **Copiar URL del servidor MCP** | `mcp` | Copia la URL de tu servidor MCP en el portapapeles |
+| **Conectar con Cursor** | `cursor` | Instala tu servidor MCP alojado en Cursor |
+| **Conectar con VS Code** | `vscode` | Instala tu servidor MCP alojado en VS Code |
+
+
+
+
+
+
+ ## Habilitar el menú contextual
+
+
+Agrega el campo `contextual` a tu archivo `docs.json` y especifica qué opciones quieres incluir.
+
+```json
+{
+ "contextual": {
+ "options": [
+ "copiar",
+ "ver",
+ "chatgpt",
+ "claude",
+ "perplexity",
+ "mcp",
+ "cursor",
+ "vscode"
+ ]
+ }
+}
+```
+
+
+
+ ## Agregar opciones personalizadas
+
+
+Crea opciones personalizadas en el menú contextual agregando un objeto al arreglo `options`. Cada opción personalizada requiere estas propiedades:
+
+
+ El título de la opción.
+
+
+
+ La descripción de la opción. Se muestra debajo del título cuando se expande el menú contextual.
+
+
+
+
+
+ El href de la opción. Usa una cadena para enlaces simples o un objeto para enlaces dinámicos con parámetros de consulta.
+
+
+
+ La URL base de la opción.
+
+
+
+ Los parámetros de consulta de la opción.
+
+
+
+ La clave del parámetro de consulta.
+
+
+
+ El valor del parámetro de consulta. Reemplazaremos los siguientes marcadores de posición por los valores correspondientes:
+
+ * Usa `$page` para insertar el contenido de la página actual en Markdown.
+ * Usa `$path` para insertar la ruta de la página actual.
+ * Usa `$mcp` para insertar la URL del servidor MCP alojado.
+
+
+
+
+
+
+Ejemplo de opción personalizada:
+
+```json {9-14} wrap
+{
+ "contextual": {
+ "options": [
+ "copy",
+ "view",
+ "chatgpt",
+ "claude",
+ "perplexity",
+ {
+ "title": "Solicitar una función",
+ "description": "Únete a la conversación en GitHub para solicitar una nueva función"
+ "icon": "plus",
+ "href": "https://github.com/orgs/mintlify/discussions/categories/feature-requests"
+ }
+ ]
+ }
+}
+```
+
+
+
+ ### Ejemplos de opciones personalizadas
+
+
+
+
+```json
+{
+ "title": "Solicitar una función",
+ "description": "Únete a la conversación en GitHub",
+ "icon": "plus",
+ "href": "https://github.com/orgs/mintlify/discussions/categories/feature-requests"
+}
+```
+
+
+
+```json
+{
+ "title": "Compartir en X",
+ "description": "Comparte esta página en X",
+ "icon": "x",
+ "href": {
+ "base": "https://x.com/intent/tweet",
+ "query": [
+ {
+ "key": "text",
+ "value": "Consulta esta documentación: $page"
+ }
+ ]
+ }
+}
+```
+
+
\ No newline at end of file
diff --git a/es/ai/llmstxt.mdx b/es/ai/llmstxt.mdx
new file mode 100644
index 000000000..cdf3ed881
--- /dev/null
+++ b/es/ai/llmstxt.mdx
@@ -0,0 +1,59 @@
+---
+title: "llms.txt"
+description: "Facilita que los LLMs lean e indexen tu contenido"
+icon: "file-code"
+---
+
+import { PreviewButton } from "/snippets/previewbutton.jsx"
+
+El [archivo llms.txt](https://llmstxt.org) es un estándar del sector que ayuda a los LLM a indexar contenido de forma más eficiente, de manera similar a como un sitemap ayuda a los motores de búsqueda. Las herramientas de IA pueden usar este archivo para entender la estructura de tu documentación y encontrar contenido relevante para las consultas de los usuarios.
+
+Mintlify aloja automáticamente un archivo `llms.txt` en la raíz de tu proyecto que enumera todas las páginas disponibles de tu documentación. Este archivo siempre está actualizado y no requiere mantenimiento. Opcionalmente, puedes añadir un archivo `llms.txt` personalizado en la raíz de tu proyecto.
+
+Consulta tu `llms.txt` añadiendo `/llms.txt` a la URL de tu sitio de documentación.
+
+Abrir el llms.txt de este sitio.
+
+
+
+ ## Estructura de llms.txt
+
+
+Un archivo `llms.txt` es un archivo Markdown sin formato que contiene:
+
+* **Título del sitio** como encabezado H1.
+* **Secciones de contenido estructurado** con enlaces y una descripción de cada página de tu documentación.
+
+```mdx Ejemplo de llms.txt
+# Documentación de producto de ejemplo
+
+## Guías
+- [Primeros pasos](https://example.com/docs/start): Guía introductoria
+- [Instalación](https://example.com/docs/install): Pasos de configuración
+
+## Referencia
+- [API](https://example.com/docs/api): Lista de endpoints y uso
+```
+
+Este enfoque estructurado permite que los LLM procesen tu documentación de forma eficiente a un nivel general y localicen contenido relevante para las consultas de los usuarios, mejorando la precisión y la velocidad de las búsquedas de documentación asistidas por IA.
+
+
+
+ ## llms-full.txt
+
+
+El archivo `llms-full.txt` combina todo tu sitio de documentación en un solo archivo como contexto para herramientas de IA y es indexado por el tráfico de LLM.
+
+Mintlify aloja automáticamente un archivo `llms-full.txt` en la raíz de tu proyecto. Consulta tu `llms-full.txt` agregando `/llms-full.txt` a la URL de tu sitio de documentación.
+
+Abrir el llms-full.txt de este sitio.
+
+
+
+
+ ## Archivos personalizados
+
+
+Para agregar un archivo `llms.txt` o `llms-full.txt` personalizado, crea un archivo `llms.txt` o `llms-full.txt` en la raíz de tu proyecto. Al agregar un archivo personalizado, se reemplazará el archivo generado automáticamente con el mismo nombre. Si eliminas un archivo personalizado, se volverá a usar el archivo predeterminado.
+
+Tu archivo `llms.txt` o `llms-full.txt` personalizado debe incluir el título del sitio como encabezado H1. El resto del contenido es opcional. Consulta [Formato](https://llmstxt.org/#format) en la especificación de `llms.txt` para obtener más información sobre secciones opcionales y buenas prácticas.
diff --git a/es/ai/markdown-export.mdx b/es/ai/markdown-export.mdx
new file mode 100644
index 000000000..72a84f105
--- /dev/null
+++ b/es/ai/markdown-export.mdx
@@ -0,0 +1,28 @@
+---
+title: "Exportación de Markdown"
+description: "Obtén rápidamente versiones en Markdown de las páginas"
+icon: "file-text"
+---
+
+import { PreviewButton } from "/snippets/previewbutton.jsx"
+
+Markdown proporciona texto estructurado que las herramientas de IA pueden procesar con mayor eficiencia que HTML, lo que se traduce en respuestas más precisas, tiempos de procesamiento más rápidos y un menor consumo de tokens.
+
+Mintlify genera automáticamente versiones en Markdown de las páginas, optimizadas para herramientas de IA e integraciones externas.
+
+
+
+ ## Extensión .md en la URL
+
+
+Añade `.md` a la URL de cualquier página para ver su versión en Markdown.
+
+Abrir esta página en Markdown
+
+
+
+
+ ## Atajo de teclado
+
+
+Presiona Command + C (Ctrl + C en Windows) para copiar una página como Markdown al portapapeles.
diff --git a/es/ai/model-context-protocol.mdx b/es/ai/model-context-protocol.mdx
new file mode 100644
index 000000000..a5dad59c0
--- /dev/null
+++ b/es/ai/model-context-protocol.mdx
@@ -0,0 +1,398 @@
+---
+title: "Protocolo de Contexto de Modelo"
+description: "Permite que los usuarios accedan a tu documentación y a tus APIs desde sus herramientas de IA favoritas"
+icon: "audio-waveform"
+keywords: ["mcp"]
+---
+
+import { PreviewButton } from "/snippets/previewbutton.jsx"
+
+
+ ## Acerca de los servidores MCP
+
+
+El MCP (Protocolo de Contexto de Modelo) es un protocolo abierto que crea conexiones estandarizadas entre aplicaciones de IA y servicios externos, como la documentación. Mintlify genera un servidor MCP a partir de tu documentación y especificaciones OpenAPI, preparando tu contenido para el ecosistema de IA más amplio, donde cualquier cliente MCP (como Claude, Cursor, Goose y otros) puede conectarse a tu documentación y a tus API.
+
+Tu servidor MCP expone herramientas para que las aplicaciones de IA puedan buscar en tu documentación e interactuar con tus API.
+
+
+ ## Acceder a tu servidor MCP
+
+
+
+ Los servidores MCP solo pueden generarse para documentación pública. No es posible acceder a documentación protegida por autenticación de usuario final para generar el servidor.
+
+
+Mintlify genera automáticamente un servidor MCP para tu documentación y lo aloja en la URL de tu documentación con la ruta `/mcp`. Por ejemplo, el servidor MCP de Mintlify está disponible en `https://mintlify.com/docs/mcp`.
+
+Puedes ver y copiar la URL de tu servidor MCP en tu [panel](https://dashboard.mintlify.com/products/mcp).
+
+La ruta `/mcp` está reservada para servidores MCP alojados y no puede utilizarse para otros elementos de navegación.
+
+
+ ## Configuring your MCP server
+
+
+Todos los servidores MCP incluyen la herramienta `search` de forma predeterminada, lo que permite a los usuarios consultar información de tu documentación desde otras herramientas.
+
+Si tienes un [plan Pro o Enterprise](https://mintlify.com/pricing?ref=mcp), puedes exponer endpoints de tu especificación OpenAPI como herramientas MCP.
+
+Para exponer endpoints como herramientas MCP, usa el objeto `mcp` dentro de la extensión `x-mint`, ya sea a nivel de archivo o de endpoint. Por ejemplo, el servidor MCP de Mintlify incluye herramientas para crear chats del Asistente, obtener actualizaciones de estado y desencadenar actualizaciones.
+
+Los servidores MCP siguen un enfoque de “seguridad primero”, por lo que los endpoints de API no se exponen de forma predeterminada. Debes habilitar explícitamente los endpoints para ponerlos a disposición como herramientas MCP. Expón únicamente endpoints que sean seguros para el acceso público a través de herramientas de IA.
+
+
+ La configuración de MCP para el endpoint.
+
+
+
+ Indica si se debe exponer el endpoint como una herramienta MCP. Tiene prioridad sobre la configuración a nivel de archivo.
+
+
+
+ El nombre de la herramienta MCP.
+
+
+
+ La descripción de la herramienta MCP.
+
+
+
+
+
+ ### Configuración a nivel de archivo
+
+
+Habilita MCP para todos los endpoints de forma predeterminada en un archivo de especificación OpenAPI y excluye determinados endpoints de forma selectiva:
+
+```json
+{
+ "openapi": "3.1.0",
+ "x-mint": {
+ "mcp": {
+ "enabled": true
+ }
+ },
+ // ...
+ "paths": {
+ "/api/v1/users": {
+ "get": {
+ "x-mint": {
+ "mcp": {
+ "enabled": false // Deshabilita MCP para este endpoint
+ }
+ },
+ // ...
+ }
+ }
+ }
+}
+```
+
+
+ ### Configuración a nivel de endpoint
+
+
+Habilita MCP para endpoints específicos:
+
+```json
+{
+ "paths": {
+ "/api/v1/users": {
+ "get": {
+ "x-mint": {
+ "mcp": {
+ "enabled": true,
+ "name": "get-users",
+ "description": "Obtener una lista de usuarios"
+ },
+ // ...
+ }
+ }
+ },
+ "/api/v1/delete": {
+ "delete": {
+ // No hay `x-mint: mcp`, así que este endpoint no se expone como una herramienta de MCP
+ // ...
+ }
+ }
+ }
+}
+```
+
+
+ ## Uso de tu servidor MCP
+
+
+Tus usuarios deben conectar tu servidor MCP a sus herramientas de IA preferidas.
+
+1. Haz que la URL de tu servidor MCP sea de acceso público.
+2. Los usuarios copian la URL de tu servidor MCP y la añaden a sus herramientas.
+3. Los usuarios acceden a tu documentación y a los endpoints de tu API desde sus herramientas.
+
+Estas son algunas formas en que puedes ayudar a tus usuarios a conectarse a tu servidor MCP:
+
+
+
+ Agrega opciones en el [menú contextual](/es/ai/contextual-menu) para que tus usuarios se conecten a tu servidor MCP desde cualquier página de tu documentación.
+
+ | Opción | Identificador | Descripción |
+ | :----- | :------------ | :---------- |
+ | **Copiar URL del servidor MCP** | `mcp` | Copia la URL de tu servidor MCP en el portapapeles del usuario. |
+ | **Conectar con Cursor** | `cursor` | Instala tu servidor MCP en Cursor. |
+ | **Conectar con VS Code** | `vscode` | Instala tu servidor MCP en VS Code. |
+
+
+
+
+
+ Ve a tu [panel](https://dashboard.mintlify.com/products/mcp) y busca la URL de tu servidor MCP.
+
+
+
+ Crea una guía para tus usuarios que incluya la URL de tu servidor MCP y los pasos para conectarlo a Claude.
+
+ 1. Ve a la página de [Connectors](https://claude.ai/settings/connectors) en la configuración de Claude.
+ 2. Selecciona **Add custom connector**.
+ 3. Agrega el nombre y la URL de tu servidor MCP.
+ 4. Selecciona **Add**.
+ 5. Al usar Claude, selecciona el botón de adjuntos (el ícono de “más”).
+ 6. Selecciona tu servidor MCP.
+
+
+
+ Consulta la [documentación de Model Context Protocol](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server#connecting-to-a-remote-mcp-server) para más detalles.
+
+
+
+
+
+ Ve a tu [panel](https://dashboard.mintlify.com/products/mcp) y busca la URL de tu servidor MCP.
+
+
+
+ Crea una guía para tus usuarios que incluya la URL de tu servidor MCP y el comando para conectarlo a Claude Code.
+
+ ```bash
+ claude mcp add --transport http
+ ```
+
+
+
+ Consulta la [documentación de Claude Code](https://docs.anthropic.com/en/docs/claude-code/mcp#installing-mcp-servers) para más detalles.
+
+
+
+
+
+ Ve a tu [panel](https://dashboard.mintlify.com/products/mcp) y busca la URL de tu servidor MCP.
+
+
+
+ Crea una guía para tus usuarios que incluya la URL de tu servidor MCP y los pasos para conectarlo a Cursor.
+
+ 1. Usa Command + Shift + P (Ctrl + Shift + P en Windows) para abrir la paleta de comandos.
+ 2. Busca "Open MCP settings".
+ 3. Selecciona **Add custom MCP**. Esto abrirá el archivo `mcp.json`.
+ 4. En `mcp.json`, configura tu servidor:
+
+ ```json
+ {
+ "mcpServers": {
+ "": {
+ "url": ""
+ }
+ }
+ }
+ ```
+
+
+
+ Consulta la [documentación de Cursor](https://docs.cursor.com/en/context/mcp#installing-mcp-servers) para más detalles.
+
+
+
+
+
+ Ve a tu [panel](https://dashboard.mintlify.com/products/mcp) y busca la URL de tu servidor MCP.
+
+
+
+ Crea una guía para tus usuarios que incluya la URL de tu servidor MCP y los pasos para conectarlo a VS Code.
+
+ 1. Crea un archivo `.vscode/mcp.json`.
+ 2. En `mcp.json`, configura tu servidor:
+
+ ```json
+ {
+ "servers": {
+ "": {
+ "type": "http",
+ "url": ""
+ }
+ }
+ }
+ ```
+
+
+
+ Consulta la [documentación de VS Code](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) para más detalles.
+
+
+
+
+ ### Ejemplo: Conexión al servidor MCP de Mintlify
+
+
+Conéctate al servidor MCP de Mintlify para interactuar con la API de Mintlify y buscar en nuestra documentación. Esto te dará respuestas más precisas sobre cómo usar Mintlify en tu entorno local y mostrará cómo puedes ayudar a tus usuarios a conectarse a tu servidor MCP.
+
+
+
+ En la parte superior de esta página, selecciona el menú contextual y elige **Connect to Cursor** o **Connect to VS Code** para conectar el servidor MCP de Mintlify con el IDE de tu preferencia.
+
+
+
+ Para usar el servidor MCP de Mintlify con Claude:
+
+
+
+ 1. Ve a la página [Connectors](https://claude.ai/settings/connectors) en la configuración de Claude.
+ 2. Selecciona **Add custom connector**.
+ 3. Agrega el servidor MCP de Mintlify:
+
+ * Name: `Mintlify`
+ * URL: `https://mintlify.com/docs/mcp`
+
+ 4. Selecciona **Add**.
+
+
+
+ 1. Al usar Claude, selecciona el botón de adjuntos (el ícono de suma).
+ 2. Selecciona el servidor MCP de Mintlify.
+ 3. Hazle a Claude una pregunta sobre Mintlify.
+
+
+
+ Consulta la [documentación de Model Context Protocol](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server#connecting-to-a-remote-mcp-server) para más detalles.
+
+
+
+ Para usar el servidor MCP de Mintlify con Claude Code, ejecuta el siguiente comando:
+
+ ```bash
+ claude mcp add --transport http Mintlify https://mintlify.com/docs/mcp
+ ```
+
+ Prueba la conexión ejecutando:
+
+ ```bash
+ claude mcp list
+ ```
+
+ Consulta la [documentación de Claude Code](https://docs.anthropic.com/en/docs/claude-code/mcp#installing-mcp-servers) para más detalles.
+
+
+
+ Install in Cursor
+
+ Para conectar el servidor MCP de Mintlify a Cursor, haz clic en el botón **Install in Cursor**. O, para conectar el servidor MCP manualmente, sigue estos pasos:
+
+
+
+ 1. Usa Command + Shift + P (Ctrl + Shift + P en Windows) para abrir la paleta de comandos.
+ 2. Busca "Open MCP settings".
+ 3. Selecciona **Add custom MCP**. Esto abrirá el archivo `mcp.json`.
+
+
+
+ En `mcp.json`, agrega:
+
+ ```json
+ {
+ "mcpServers": {
+ "Mintlify": {
+ "url": "https://mintlify.com/docs/mcp"
+ }
+ }
+ }
+ ```
+
+
+
+ En el chat de Cursor, pregunta "What tools do you have available?" Cursor debería mostrar el servidor MCP de Mintlify como una herramienta disponible.
+
+
+
+ Consulta [Installing MCP servers](https://docs.cursor.com/en/context/mcp#installing-mcp-servers) en la documentación de Cursor para más detalles.
+
+
+
+ Install in VS Code
+
+ Para conectar el servidor MCP de Mintlify a VS Code, haz clic en el botón **Install in VS Code**. O, para conectar el servidor MCP manualmente, crea un archivo `.vscode/mcp.json` y agrega:
+
+ ```json
+ {
+ "servers": {
+ "Mintlify": {
+ "type": "http",
+ "url": "https://mintlify.com/docs/mcp"
+ }
+ }
+ }
+ ```
+
+ Consulta la [documentación de VS Code](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) para más detalles.
+
+
+
+
+ ## Autenticación
+
+
+Cuando habilitas un endpoint de API para MCP, el servidor incluye los requisitos de autenticación definidos en tus `securitySchemes` y `securityRequirement` de OpenAPI. Cualquier clave la gestiona directamente la herramienta y no es almacenada ni procesada por Mintlify.
+
+Si un usuario le pide a su herramienta de IA que invoque un endpoint protegido, la herramienta solicitará en ese momento al usuario las credenciales de autenticación necesarias.
+
+
+ ## Monitorear tu servidor MCP
+
+
+Puedes ver todas las herramientas de MCP disponibles en la sección **Available tools** de la [página MCP Server](https://dashboard.mintlify.com/products/mcp) en tu panel.
+
+
+
+
+
+
+
+
+ ## Solución de problemas
+
+
+
+
+ Si tu servidor MCP solo expone la herramienta de búsqueda a pesar de tener una especificación de OpenAPI:
+
+ 1. Verifica que tu especificación de OpenAPI sea válida y accesible.
+ 2. Asegúrate de haber habilitado explícitamente MCP para endpoints específicos usando `x-mint.mcp.enabled: true`.
+ 3. Revisa los registros de tu despliegue para detectar errores en el procesamiento de OpenAPI.
+
+ Si el procesamiento de OpenAPI falla, el servidor continúa únicamente con la herramienta de búsqueda para mantener la funcionalidad.
+
+
+
+ Si los usuarios reportan problemas de autenticación:
+
+ 1. Comprueba que tu especificación de OpenAPI incluya definiciones adecuadas de `securitySchemes`.
+ 2. Confirma que los endpoints habilitados funcionen con los métodos de autenticación especificados.
+
+
+
+ Si las herramientas de IA no están utilizando tus endpoints de API de manera efectiva:
+
+ 1. Agrega campos detallados `summary` y `description` a tus endpoints.
+ 2. Asegúrate de que los nombres y descripciones de los parámetros sean autoexplicativos.
+ 3. Usa el panel de MCP para verificar cómo se muestran tus endpoints como herramientas.
+
+
\ No newline at end of file
diff --git a/es/ai/slack-app.mdx b/es/ai/slack-app.mdx
new file mode 100644
index 000000000..323b15dea
--- /dev/null
+++ b/es/ai/slack-app.mdx
@@ -0,0 +1,30 @@
+---
+title: "Aplicación de Slack"
+description: "Añade un bot que busca en tu documentación para responder preguntas en tu espacio de trabajo de Slack"
+icon: "slack"
+---
+
+
+ La aplicación de Slack está disponible para los [planes Pro y Custom](https://mintlify.com/pricing?ref=slack-app).
+
+
+La aplicación de Slack añade un bot llamado `@mintlify` a tu espacio de trabajo que puede buscar en tu documentación y responder las preguntas de los usuarios. El bot responde a mensajes directos, menciones con @ y a cualquier pregunta en un canal específicamente llamado `#ask-ai`.
+
+La aplicación de Slack puede generar costos: ya sea usando tus créditos del Asistente de IA o incurriendo en cargos por excedente.
+
+
+ ## Configurar la app de Slack
+
+
+
+ Si el propietario de tu espacio de trabajo de Slack requiere aprobación de administrador para instalar aplicaciones, pídele que apruebe la app de Slack de Mintlify antes de que la agregues.
+
+
+1. Ve a la página de [Add-ons](https://dashboard.mintlify.com/products/addons) de tu panel.
+2. Selecciona **Connect** en la tarjeta de Slack Integration.
+3. Sigue las indicaciones de Slack para añadir la app a tu espacio de trabajo.
+4. Comprueba que el bot funciona y responde cuando:
+
+- Envías un mensaje directo a la app de Mintlify.
+ - Menciones al bot con `@mintlify` en un canal.
+ - Crees un canal `#ask-ai`, añadas el bot y hagas una pregunta.
\ No newline at end of file
diff --git a/es/analytics/feedback.mdx b/es/analytics/feedback.mdx
new file mode 100644
index 000000000..4d8db1fec
--- /dev/null
+++ b/es/analytics/feedback.mdx
@@ -0,0 +1,89 @@
+---
+title: "Comentarios"
+description: "Supervisa la satisfacción de los usuarios con tu documentación"
+---
+
+
+ Para recopilar y ver comentarios, primero debes habilitar la función de comentarios desde la página de [Add-ons](https://dashboard.mintlify.com/products/addons) en tu panel.
+
+
+La pestaña de comentarios muestra los votos cuantitativos de pulgar arriba y pulgar abajo que han recibido tus docs y cualquier comentario cualitativo que hayan proporcionado los usuarios. Usa esta información para evaluar la calidad de tus docs y realizar mejoras.
+
+Accede a la pestaña de comentarios desde la página de **Analytics** en tu [panel](https://dashboard.mintlify.com/products/analytics).
+
+
+ ## Tipos de comentarios
+
+
+
+ Los comentarios contextuales y en fragmentos de código están en beta. Para habilitarlos en tu sitio de documentación, [contacta a nuestro equipo de ventas](mailto:gtm@mintlify.com).
+
+
+La pestaña de comentarios muestra información según los complementos de comentarios que habilites.
+
+Habilita tus tipos de comentarios preferidos:
+
+
+
+
+
+
+
+
+
+* **Solo valoración con pulgares**: Votación simple de pulgar arriba/abajo para medir la satisfacción general con las páginas.
+* **Solo comentarios sobre fragmentos de código**: Comentarios específicamente sobre fragmentos de código.
+* **Valoración con pulgares y comentarios contextuales**: Votación de página más comentarios detallados y motivos de las valoraciones.
+* **Valoración con pulgares y comentarios sobre fragmentos de código**: Votación de página más comentarios sobre ejemplos de código.
+* **Valoración con pulgares, comentarios contextuales y comentarios sobre fragmentos de código**: Sistema de comentarios completo con votación de página, comentarios detallados y comentarios sobre fragmentos de código.
+
+
+ ## Gestión de comentarios
+
+
+Para comentarios contextuales y sobre fragmentos de código, puedes establecer el estado de un comentario y añadir notas internas para hacer seguimiento de tu trabajo al resolver el feedback de los usuarios.
+
+
+ ### Cambiar el estado de los comentarios
+
+
+Selecciona el estado junto a un comentario para marcarlo como **Pendiente**, **En progreso**, **Resuelto** o **Descartado**.
+
+Mejores prácticas para definir estados de comentarios:
+
+* **Pendiente**: El comentario está a la espera de revisión.
+* **En progreso**: El comentario ha sido validado y se está trabajando en él.
+* **Resuelto**: El comentario se ha resuelto.
+* **Descartado**: El comentario se descarta por no ser accionable, por irrelevante o por inexacto.
+
+
+ ### Filtrar por estado
+
+
+Utiliza el filtro de estado para controlar qué comentarios se muestran. Desmarca un estado para ocultar todos los comentarios con ese estado. De forma predeterminada, se muestran todos los comentarios.
+
+
+ ### Agregar notas internas
+
+
+Haz clic en un comentario para agregar una nota interna. Estas notas solo son visibles para quienes tienen acceso a tu panel.
+
+Usa las notas para añadir información para la colaboración, enlazar tickets relevantes de soporte o de ingeniería, o recordar cualquier otra información útil.
+
+
+ ## Uso de los datos de comentarios
+
+
+Revisa tus datos de comentarios para:
+
+* **Identificar contenido eficaz**: Las páginas con más comentarios positivos muestran qué funciona bien en tu documentación.
+ * **Priorizar mejoras**: Las páginas con más comentarios negativos indican qué contenido podría requerir atención.
+ * **Tomar acción**: Realiza actualizaciones en la documentación basadas en comentarios directos de los usuarios.
\ No newline at end of file
diff --git a/es/analytics/improving-docs.mdx b/es/analytics/improving-docs.mdx
new file mode 100644
index 000000000..2ae2ee8ba
--- /dev/null
+++ b/es/analytics/improving-docs.mdx
@@ -0,0 +1,40 @@
+---
+title: "Mejora tu documentación"
+description: "Usa los datos de analítica para mejorar tu documentación"
+---
+
+Mejora tu documentación con datos cuantitativos y cualitativos de tu panel de analítica.
+
+
+ ## Información de analíticas cruzadas
+
+
+Combina datos de múltiples fuentes de analítica para obtener una visión integral de tu documentación.
+
+
+ ### Correlaciona el tráfico y la satisfacción
+
+
+- **Alto tráfico y bajas calificaciones**: Páginas populares con una mala experiencia de usuario. Prioriza mejorar estas páginas.
+- **Bajo tráfico y altas calificaciones**: Documentación que funciona bien, pero puede que no sea fácil de encontrar. Considera promocionar estas páginas.
+- **Alto tráfico y altas calificaciones**: Los grandes éxitos de tu documentación. Revisa estas páginas para inspirarte y mejorar el resto de tu contenido.
+
+
+ ### Alinea la intención de búsqueda con el rendimiento del contenido
+
+
+- **Alto volumen de búsqueda y pocas vistas de página**: Problemas de descubrimiento. Considera reubicar estas páginas o revisar su frontmatter.
+- **Términos de búsqueda populares y resultados con baja confianza**: Oportunidad por brecha de contenido. Considera añadir más contenido o crear contenido nuevo sobre estos temas.
+- **Búsquedas principales y comentarios negativos en las páginas correspondientes**: Problemas de experiencia de usuario. Revisa las páginas para verificar si realmente resuelven la necesidad del usuario que motivó la búsqueda.
+
+
+ ## Ponga los insights en acción
+
+
+Use estos patrones de analítica cruzada para priorizar las mejoras de su documentación:
+
+- **Solucione primero los problemas de alto impacto**: Las páginas populares con malas valoraciones afectan a más usuarios.
+- **Cubra las brechas de contenido verificadas**: Las búsquedas con baja confianza y alto volumen indican necesidades no cubiertas.
+- **Responda a los comentarios de los usuarios**: Los comentarios contextuales y sobre fragmentos de código pueden señalar áreas específicas de mejora.
+- **Alinee la búsqueda con el contenido**: Asegúrese de que sus temas más buscados tengan páginas completas y bien organizadas.
+- **Monitoree las tendencias de búsqueda al alza sin páginas populares existentes**: Nuevas oportunidades de contenido.
\ No newline at end of file
diff --git a/es/analytics/overview.mdx b/es/analytics/overview.mdx
new file mode 100644
index 000000000..785d4bcff
--- /dev/null
+++ b/es/analytics/overview.mdx
@@ -0,0 +1,29 @@
+---
+title: "Descripción general"
+description: "Consulta el tráfico y los insights de alto nivel sobre tu documentación"
+---
+
+La pestaña de descripción general muestra cuántas personas han visitado tu documentación, qué páginas son más populares y de dónde provienen los usuarios. Usa esta información para identificar cuáles son las páginas más valiosas para tus usuarios y hacer un seguimiento de las tendencias a lo largo del tiempo.
+
+Accede a las métricas de la descripción general desde la página de **Analytics** en tu [panel](https://dashboard.mintlify.com/products/analytics).
+
+
+ ## Métricas
+
+
+Usa el selector de rango para ajustar el periodo de los datos mostrados. Selecciona visitantes, vistas o acciones para mostrar un gráfico de líneas con las tendencias durante el periodo seleccionado.
+
+- **Visitors**: Visitantes únicos
+- **Views**: Total de vistas de página
+- **Actions**: Recuento combinado de llamadas a la API, clics en enlaces de la barra de navegación y clics en botones de CTA
+- **Popular Pages**: Rutas a las páginas más visitadas y su número de vistas
+- **Referrers**: Principales fuentes de tráfico que dirigen usuarios a tu documentación
+
+
+ ## Uso de los datos generales
+
+
+Revisa tus métricas generales para:
+
+- **Identificar páginas populares**: Usa las páginas más vistas para entender qué contenido es más importante para tus usuarios y asegurarte de que esté actualizado y sea completo.
+- **Seguir tendencias de tráfico**: Monitorea los cambios en el tráfico para entender el impacto de las actualizaciones o del contenido nuevo.
\ No newline at end of file
diff --git a/es/analytics/search.mdx b/es/analytics/search.mdx
new file mode 100644
index 000000000..3ca10d990
--- /dev/null
+++ b/es/analytics/search.mdx
@@ -0,0 +1,28 @@
+---
+title: "Búsqueda"
+description: "Entiende cómo buscan los usuarios en tu documentación"
+---
+
+Usa los datos de la pestaña de búsqueda para entender qué buscan los usuarios e identificar temas que deban actualizarse o ampliarse.
+
+Accede a tus métricas de búsqueda desde la página de **Analytics** en tu [panel](https://dashboard.mintlify.com/products/analytics).
+
+
+ ## Métricas de búsqueda
+
+
+Usa el selector de rango para ajustar el periodo de tiempo de los datos mostrados.
+
+- **Consultas totales**: Volumen de búsqueda
+- **Búsquedas principales**: Términos más buscados
+- **Búsquedas con baja confianza**: Consultas que podrían no haber devuelto resultados relevantes
+
+
+ ## Uso de los datos de búsqueda
+
+
+Revisa tus analíticas de búsqueda para:
+
+- **Identificar temas populares**: Usa las búsquedas principales para entender qué contenido busca la gente.
+- **Detectar brechas de contenido**: Las búsquedas con baja confianza pueden indicar documentación faltante o temas que requieren mejor cobertura.
+- **Mejorar la capacidad de descubrimiento**: Asegúrate de que las páginas que coinciden con términos de búsqueda populares sean fáciles de encontrar y estén bien organizadas.
\ No newline at end of file
diff --git a/es/api-playground/asyncapi/playground.mdx b/es/api-playground/asyncapi/playground.mdx
new file mode 100644
index 000000000..f287bb9e5
--- /dev/null
+++ b/es/api-playground/asyncapi/playground.mdx
@@ -0,0 +1,5 @@
+---
+title: "Área de pruebas"
+description: "Permite que los usuarios interactúen con tus websockets"
+asyncapi: "/asyncapi.yaml channelOne"
+---
diff --git a/es/api-playground/asyncapi/setup.mdx b/es/api-playground/asyncapi/setup.mdx
new file mode 100644
index 000000000..31166c43b
--- /dev/null
+++ b/es/api-playground/asyncapi/setup.mdx
@@ -0,0 +1,92 @@
+---
+title: "Configuración de AsyncAPI"
+description: "Crea páginas de referencia de websocket con AsyncAPI"
+---
+
+
+
+
+ ## Agrega un archivo de especificación de AsyncAPI
+
+
+Para empezar a crear páginas para tus websockets, asegúrate de contar con un documento de esquema de AsyncAPI válido en formato JSON o YAML que cumpla con la [especificación de AsyncAPI](https://www.asyncapi.com/docs/reference/specification/v3.0.0). Tu esquema debe ajustarse a la especificación 3.0+ de AsyncAPI.
+
+
+ Para comprobar que tu esquema de AsyncAPI sea válido, puedes pegarlo en
+ [AsyncAPI Studio](https://studio.asyncapi.com/)
+
+
+
+
+
+ ## Autogenerar páginas de websockets
+
+
+Puedes agregar un campo `asyncapi` a cualquier pestaña o grupo en la navegación de tu `docs.json`. Este campo puede contener la ruta a un documento de esquema de AsyncAPI en tu repositorio de documentación, la URL de un documento de esquema de AsyncAPI alojado o una matriz de enlaces a documentos de esquema de AsyncAPI. Mintlify generará automáticamente una página para cada canal de websocket de AsyncAPI.
+
+**Ejemplos con pestañas:**
+
+
+ ```json Local File {5}
+ "navigation": {
+ "tabs": [
+ {
+ "tab": "API Reference",
+ "asyncapi": "/path/to/asyncapi.json"
+ }
+ ]
+ }
+
+ ```
+
+ ```json Remote URL {5}
+ "navigation": {
+ "tabs": [
+ {
+ "tab": "API Reference",
+ "asyncapi": "https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml"
+ }
+ ]
+ }
+ ```
+
+
+**Ejemplos con grupos:**
+
+```json {8-11}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "AsyncAPI",
+ "groups": [
+ {
+ "group": "WebSockets",
+ "asyncapi": {
+ "source": "/path/to/asyncapi.json",
+ "directory": "referencia-api"
+ }
+ }
+ ]
+ }
+ ]
+}
+```
+
+
+ El campo directory es opcional. Si no se especifica, los archivos se ubicarán en
+ la carpeta **api-reference** del repositorio de docs.
+
+
+
+
+ ## Página de canal
+
+
+Si quieres tener más control sobre el orden de tus canales o simplemente referenciar un canal específico, puedes crear un archivo MDX con el campo `asyncapi` en el frontmatter.
+
+```mdx
+---
+title: "Canal WebSocket"
+asyncapi: "/path/to/asyncapi.json channelName"
+---
+```
diff --git a/es/api-playground/customization/adding-sdk-examples.mdx b/es/api-playground/customization/adding-sdk-examples.mdx
new file mode 100644
index 000000000..fc14a265f
--- /dev/null
+++ b/es/api-playground/customization/adding-sdk-examples.mdx
@@ -0,0 +1,48 @@
+---
+title: "Agregar ejemplos de SDK"
+description: "Muestra ejemplos de código específicos por lenguaje junto a tus endpoints de API para enseñar a los desarrolladores cómo usar tus SDK"
+---
+
+Si tus usuarios interactúan con tu API mediante un SDK en lugar de hacerlo directamente con una solicitud de red, puedes usar la extensión `x-codeSamples` para agregar ejemplos de código a tu documento de OpenAPI y mostrarlos en tus páginas de OpenAPI.
+
+Esta propiedad se puede agregar a cualquier método de solicitud y tiene el siguiente esquema.
+
+
+ El lenguaje del ejemplo de código.
+
+
+
+ La etiqueta del ejemplo. Es útil cuando proporcionas múltiples ejemplos para un solo endpoint.
+
+
+
+ El código fuente del ejemplo.
+
+
+A continuación se muestra un ejemplo de ejemplos de código para una app de seguimiento de plantas, que cuenta con una herramienta de CLI en Bash y un SDK de JavaScript.
+
+```yaml
+paths:
+ /plants:
+ get:
+ # ...
+ x-codeSamples:
+ - lang: bash
+ label: Listar todas las plantas sin regar
+ source: |
+ planter list -u
+ - lang: javascript
+ label: Listar todas las plantas sin regar
+ source: |
+ const planter = require('planter');
+ planter.list({ unwatered: true });
+ - lang: bash
+ label: Listar todas las plantas en maceta
+ source: |
+ planter list -p
+ - lang: javascript
+ label: Listar todas las plantas en maceta
+ source: |
+ const planter = require('planter');
+ planter.list({ potted: true });
+```
diff --git a/es/api-playground/customization/complex-data-types.mdx b/es/api-playground/customization/complex-data-types.mdx
new file mode 100644
index 000000000..3ab7ba263
--- /dev/null
+++ b/es/api-playground/customization/complex-data-types.mdx
@@ -0,0 +1,105 @@
+---
+title: "Tipos de datos complejos"
+description: "Describe APIs con esquemas flexibles, propiedades opcionales y múltiples formatos de datos mediante las palabras clave `oneOf`, `anyOf` y `allOf`"
+---
+
+Cuando tu API acepta varios formatos de datos, tiene campos condicionales o utiliza patrones de herencia, las palabras clave de composición de esquemas de OpenAPI te ayudan a documentar estas estructuras flexibles. Con `oneOf`, `anyOf` y `allOf`, puedes describir APIs que admiten diferentes tipos de entrada o combinan múltiples esquemas en modelos de datos completos.
+
+
+
+
+ ## Palabras clave `oneOf`, `anyOf`, `allOf`
+
+
+Para tipos de datos complejos, OpenAPI proporciona palabras clave para combinar esquemas:
+
+* `allOf`: Combina varios esquemas (como fusionar objetos o extender un esquema base). Funciona como un operador lógico `and`.
+* `anyOf`: Acepta datos que coincidan con cualquiera de los esquemas proporcionados. Funciona como un operador lógico `or`.
+* `oneOf`: Acepta datos que coincidan con exactamente uno de los esquemas proporcionados. Funciona como un operador `xor` (o “exclusive-or”).
+
+Mintlify trata `oneOf` y `anyOf` de manera idéntica, ya que la diferencia práctica rara vez afecta el uso de la API.
+
+Para leer las especificaciones detalladas de estas palabras clave, consulta la [documentación de OpenAPI](https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/).
+
+La palabra clave `not` actualmente no es compatible.
+
+
+ ### Combinación de esquemas con `allOf`
+
+
+Cuando usas `allOf`, Mintlify realiza cierto preprocesamiento en tu documento de OpenAPI para mostrar combinaciones complejas de forma legible. Por ejemplo, cuando combinas dos esquemas de objeto con `allOf`, Mintlify fusiona las propiedades de ambos en un solo objeto. Esto resulta especialmente útil al aprovechar los [componentes](https://swagger.io/docs/specification/components/) reutilizables de OpenAPI.
+
+```yaml
+org_with_users:
+ allOf:
+ - $ref: '#/components/schemas/Org'
+ - type: object
+ properties:
+ users:
+ type: array
+ description: Una lista que contiene a todos los usuarios de la organización
+# ...
+components:
+ schemas:
+ Org:
+ type: object
+ properties:
+ id:
+ type: string
+ description: El ID de la organización
+```
+
+
+
+
+ El ID de la organización
+
+
+
+ Una matriz que contiene a todos los usuarios de la organización
+
+
+
+
+
+ ### Proporcionar opciones con `oneOf` y `anyOf`
+
+
+Cuando usas `oneOf` o `anyOf`, las opciones se muestran en un contenedor con pestañas. Especifica un campo `title` en cada subesquema para asignar nombre a tus opciones. Por ejemplo, así podrías mostrar dos tipos diferentes de direcciones de entrega:
+
+```yaml
+delivery_address:
+ oneOf:
+ - title: StreetAddress
+ type: object
+ properties:
+ address_line_1:
+ type: string
+ description: La dirección del destinatario
+ # ...
+ - title: POBox
+ type: object
+ properties:
+ box_number:
+ type: string
+ description: El número del apartado de correos
+ # ...
+```
+
+
+
+
+
+
+ La dirección de la residencia
+
+
+
+
+
+ El número del apartado postal
+
+
+
+
+
diff --git a/es/api-playground/customization/managing-page-visibility.mdx b/es/api-playground/customization/managing-page-visibility.mdx
new file mode 100644
index 000000000..115f7f96a
--- /dev/null
+++ b/es/api-playground/customization/managing-page-visibility.mdx
@@ -0,0 +1,96 @@
+---
+title: "Gestión de la visibilidad de páginas"
+description: "Controla qué endpoints de tu especificación OpenAPI aparecen en la navegación de tu documentación"
+---
+
+Puedes controlar qué operaciones de OpenAPI se publican como páginas de documentación y su visibilidad en la navegación. Esto es útil para endpoints internos, operaciones obsoletas, funciones beta o endpoints que deberían ser accesibles mediante una URL directa pero no detectables a través de la navegación del sitio.
+
+Si tus páginas se generan automáticamente a partir de un documento de OpenAPI, puedes gestionar la visibilidad de las páginas con las extensiones `x-hidden` y `x-excluded`.
+
+
+
+
+ ## `x-hidden`
+
+
+La extensión `x-hidden` crea una página para un endpoint, pero la oculta de la navegación. La página solo es accesible si se accede directamente a su URL.
+
+Los casos de uso comunes de `x-hidden` son:
+
+- Endpoints que quieres documentar, pero no destacar.
+- Páginas a las que enlazarás desde otros contenidos.
+- Endpoints para usuarios específicos.
+
+
+
+
+ ## `x-excluded`
+
+
+La extensión `x-excluded` excluye por completo un endpoint de tu documentación.
+
+Casos de uso comunes de `x-excluded`:
+
+- Endpoints internos.
+- Endpoints en desuso que no quieres documentar.
+- Funcionalidades beta que aún no están listas para la documentación pública.
+
+
+
+
+ ## Implementación
+
+
+Añade la extensión `x-hidden` o `x-excluded` debajo del método HTTP en tu especificación de OpenAPI.
+
+A continuación se muestran ejemplos de cómo usar cada propiedad en un documento de esquema de OpenAPI para un endpoint y una ruta de webhook.
+
+```json {11, 19}
+"paths": {
+ "/plants": {
+ "get": {
+ "description": "Devuelve todas las plantas de la tienda",
+ "parameters": { /*...*/ },
+ "responses": { /*...*/ }
+ }
+ },
+ "/hidden_plants": {
+ "get": {
+ "x-hidden": true,
+ "description": "Devuelve todas las plantas semi secretas de la tienda",
+ "parameters": { /*...*/ },
+ "responses": { /*...*/ }
+ }
+ },
+ "/secret_plants": {
+ "get": {
+ "x-excluded": true,
+ "description": "Devuelve todas las plantas de máxima confidencialidad de la tienda (¡no publiques este endpoint!)"
+ "parameters": { /*...*/ },
+ "responses": { /*...*/ }
+ }
+ }
+},
+```
+
+```json {9, 15}
+"webhooks": {
+ "/plants_hook": {
+ "post": {
+ "description": "Webhook para obtener información sobre una nueva planta añadida a la tienda",
+ }
+ },
+ "/hidden_plants_hook": {
+ "post": {
+ "x-hidden": true,
+ "description": "Webhook para obtener información algo confidencial sobre una nueva planta añadida a la tienda",
+ }
+ },
+ "/secret_plants_hook": {
+ "post": {
+ "x-excluded": true,
+ "description": "Webhook para obtener información estrictamente confidencial sobre una nueva planta añadida a la tienda (¡no publiques este endpoint!)"
+ }
+ }
+}
+```
diff --git a/es/api-playground/customization/multiple-responses.mdx b/es/api-playground/customization/multiple-responses.mdx
new file mode 100644
index 000000000..699b27de6
--- /dev/null
+++ b/es/api-playground/customization/multiple-responses.mdx
@@ -0,0 +1,31 @@
+---
+title: "Respuestas múltiples"
+description: "Mostrar variaciones de respuesta para el mismo endpoint"
+---
+
+Si tu API devuelve distintas respuestas según los parámetros de entrada, el contexto del usuario u otras condiciones de la solicitud, puedes documentar múltiples ejemplos de respuesta con la propiedad `examples`.
+
+Esta propiedad se puede añadir a cualquier respuesta y tiene el siguiente esquema.
+
+```yaml
+responses:
+ "200":
+ description: Respuesta satisfactoria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/YourResponseSchema"
+ examples:
+ us:
+ summary: Respuesta para Estados Unidos
+ value:
+ countryCode: "US"
+ currencyCode: "USD"
+ taxRate: 0.0825
+ gb:
+ summary: Respuesta para el Reino Unido
+ value:
+ countryCode: "GB"
+ currencyCode: "GBP"
+ taxRate: 0.20
+```
diff --git a/es/api-playground/mdx/authentication.mdx b/es/api-playground/mdx/authentication.mdx
new file mode 100644
index 000000000..f1671dbe8
--- /dev/null
+++ b/es/api-playground/mdx/authentication.mdx
@@ -0,0 +1,105 @@
+---
+title: "Autenticación"
+description: "Puedes configurar parámetros de autenticación para que los usuarios usen sus claves de API reales."
+---
+
+
+
+
+ ## Habilitar la autenticación
+
+
+Puedes agregar un método de autenticación en tu `docs.json` para habilitarla globalmente en todas las páginas o configurarla de forma individual por página.
+
+El método de autenticación de una página tendrá prioridad sobre el método global si ambos están configurados.
+
+
+
+El método de autenticación "none" es útil para desactivar la autenticación en un endpoint específico después de establecer un valor predeterminado en `docs.json`.
+
+
+```mdx Page Metadata
+---
+title: "Your page title"
+authMethod: "none"
+---
+```
+
diff --git a/es/api-playground/mdx/configuration.mdx b/es/api-playground/mdx/configuration.mdx
new file mode 100644
index 000000000..0d3185f89
--- /dev/null
+++ b/es/api-playground/mdx/configuration.mdx
@@ -0,0 +1,170 @@
+---
+title: 'Configuración de MDX'
+description: 'Genera páginas de documentación para tus endpoints de API usando `MDX`'
+---
+
+Puedes definir manualmente endpoints de API en archivos `MDX` individuales en lugar de usar una especificación OpenAPI. Este método ofrece flexibilidad para contenido personalizado, pero recomendamos generar la documentación de la API a partir de un archivo de especificación OpenAPI para la mayoría de los proyectos porque es más fácil de mantener y más completo en funcionalidades. Aun así, crear páginas `MDX` para una API puede ser útil para documentar APIs pequeñas o para prototipado.
+
+Para generar páginas para endpoints de API usando `MDX`, configura tu API en `docs.json`, crea archivos `MDX` individuales para cada endpoint y usa componentes como `` para definir parámetros. A partir de estas definiciones, Mintlify genera áreas de pruebas de API interactivas, ejemplos de solicitudes y de respuestas.
+
+
+
+ En tu archivo `docs.json`, define tu URL base y el método de autenticación:
+
+ ```json
+ "api": {
+ "mdx": {
+ "server": "https://mintlify.com/api", // string array for multiple base URLs
+ "auth": {
+ "method": "key",
+ "name": "x-api-key" // options: bearer, basic, key.
+ }
+ }
+ }
+ ```
+
+ Si quieres ocultar el área de pruebas de la API, usa el campo `display`. No necesitas incluir un método de autenticación si ocultas el área de pruebas.
+
+ ```json
+ "api": {
+ "playground": {
+ "display": "none"
+ }
+ }
+ ```
+
+ Encuentra la lista completa de configuraciones de API en [Settings](/es/settings#api-configurations).
+
+
+
+ Cada página de endpoint de API debe tener un archivo `MDX` correspondiente. En la parte superior de cada archivo, define `title` y `api`:
+
+ ```mdx
+ ---
+ title: 'Create new user'
+ api: 'POST https://api.mintlify.com/user'
+ ---
+ ```
+
+ Puedes especificar parámetros de ruta añadiendo el nombre del parámetro a la ruta, entre llaves `{}`:
+
+ ```bash
+ https://api.example.com/v1/endpoint/{userId}
+ ```
+
+
+ Si tienes un campo `server` configurado en `docs.json`, puedes usar rutas relativas como `/v1/endpoint`.
+
+
+ Puedes anular el modo de visualización definido globalmente para el área de pruebas de la API en una página agregando `playground` al frontmatter:
+
+ ```mdx
+ ---
+ title: 'Create new user'
+ api: 'POST https://api.mintlify.com/user'
+ playground: 'none'
+ ---
+ ```
+
+ * `playground: 'interactive'` - Muestra el área de pruebas interactiva.
+ * `playground: 'simple'` - Muestra un endpoint copiable sin área de pruebas.
+ * `playground: 'none'` - Oculta el área de pruebas.
+
+
+
+ Agrega las páginas de tus endpoints a la barra lateral añadiendo las rutas al campo `navigation` en tu `docs.json`. Obtén más información sobre cómo estructurar tu documentación en [Navigation](/es/navigation).
+
+
+
+
+ ## Habilitar la autenticación
+
+
+Puedes añadir un método de autenticación a tu `docs.json` para habilitarla globalmente en todas las páginas, o configurarlo por página.
+
+El método de autenticación definido en una página tendrá prioridad sobre el global si ambos están configurados.
+
+
+
+El método de autenticación `none` es útil para desactivar la autenticación en un endpoint específico después de establecer un valor predeterminado en `docs.json`.
+
+
+ ```mdx Page Metadata
+ ---
+ title: "Your page title"
+ authMethod: "none"
+ ---
+ ```
+
diff --git a/es/api-playground/migrating-from-mdx.mdx b/es/api-playground/migrating-from-mdx.mdx
new file mode 100644
index 000000000..37dc36475
--- /dev/null
+++ b/es/api-playground/migrating-from-mdx.mdx
@@ -0,0 +1,163 @@
+---
+title: "Migrar páginas de API en MDX a la navegación con OpenAPI"
+sidebarTitle: "Migrar desde MDX"
+description: "Actualiza de páginas individuales de endpoints en MDX a generación automatizada con OpenAPI y navegación flexible"
+icon: "arrow-big-right-dash"
+---
+
+Si actualmente usas páginas individuales en `MDX` para los endpoints de tu API, puedes migrar a la generación automática de páginas desde tu especificación de OpenAPI manteniendo la capacidad de personalizar cada página. Esto puede ayudarte a reducir la cantidad de archivos que debes mantener y mejorar la consistencia de tu documentación de API.
+
+Puedes definir metadatos y contenido para cada endpoint en tu especificación de OpenAPI y organizar los endpoints donde quieras en la navegación.
+
+
+ ## Migración con la CLI
+
+
+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 navegación de tu `docs.json`.
+* Identifica las páginas MDX que generan páginas de endpoints de OpenAPI.
+* Extrae el contenido de los archivos MDX y lo traslada a la extensión `x-mint` en tu especificación de OpenAPI.
+* Actualiza tu `docs.json` para referenciar directamente los endpoints de OpenAPI en lugar de los archivos MDX.
+* Elimina los archivos originales de endpoints en MDX.
+
+
+ Si ya tienes `x-mint` definido para un endpoint y también tienes una página MDX con contenido para ese endpoint, el contenido de 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.
+
+
+
+
+ Asegúrate de que tu especificación de OpenAPI sea válida e incluya todos los endpoints que deseas documentar.
+
+ Cualquier página MDX que quieras migrar debe tener el frontmatter `openapi:` que haga referencia a un endpoint.
+
+
+ Valida tu archivo de OpenAPI usando el [Swagger Editor](https://editor.swagger.io/) o la [CLI de Mint](https://www.npmjs.com/package/mint).
+
+
+
+
+ Si es necesario, instala o actualiza la [CLI de Mint](/es/installation).
+
+
+
+ ```bash
+ mint migrate-mdx
+ ```
+
+
+
+
+ ## Pasos de migración manual
+
+
+
+
+ Asegúrate de que tu especificación de OpenAPI sea válida e incluya todos los endpoints que quieres documentar.
+
+ Para los endpoints cuyos metadatos o contenido quieras personalizar, añade la extensión `x-mint` al endpoint. Consulta [extensión x-mint](/es/api-playground/openapi-setup#x-mint-extension) para más detalles.
+
+ Para los endpoints que quieras excluir de tu documentación, añade la extensión `x-hidden` al endpoint.
+
+
+ Valida tu archivo de OpenAPI usando el [Swagger Editor](https://editor.swagger.io/) o la [CLI de Mint](https://www.npmjs.com/package/mint).
+
+
+
+
+ Reemplaza las referencias de páginas `MDX` por endpoints de OpenAPI en tu `docs.json`.
+
+ ```json
+ "navigation": {
+ "groups": [
+ {
+ "group": "API Reference",
+ "openapi": "/path/to/openapi.json",
+ "pages": [
+ "overview",
+ "authentication",
+ "introduction",
+ "GET /health",
+ "quickstart",
+ "POST /users",
+ "GET /users/{id}",
+ "advanced-features"
+ ]
+ }
+ ]
+ }
+ ```
+
+
+
+ Después de verificar que tu nueva navegación funcione correctamente, elimina los archivos de endpoint `MDX` que ya no necesites.
+
+
+
+
+ ## Patrones de navegación
+
+
+Puedes personalizar cómo se muestra la documentación de tu API en la navegación.
+
+
+ ### Navegación de contenido mixto
+
+
+Combina páginas de API generadas automáticamente con otras páginas:
+
+```json
+"navigation": {
+ "groups": [
+ {
+ "group": "Referencia de la API",
+ "openapi": "openapi.json",
+ "pages": [
+ "api/overview",
+ "GET /users",
+ "POST /users",
+ "api/autenticación"
+ ]
+ }
+ ]
+}
+```
+
+
+
+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 navegación de OpenAPI ofrece mejor mantenibilidad y coherencia.
diff --git a/es/api-playground/openapi-setup.mdx b/es/api-playground/openapi-setup.mdx
new file mode 100644
index 000000000..fec47985b
--- /dev/null
+++ b/es/api-playground/openapi-setup.mdx
@@ -0,0 +1,576 @@
+---
+title: "Configuración de OpenAPI"
+description: "Incluye endpoints de OpenAPI en las páginas de tu documentación"
+icon: "file-json"
+---
+
+OpenAPI es una especificación para describir APIs. Mintlify admite documentos de OpenAPI 3.0+ para generar documentación de API interactiva y mantenerla actualizada.
+
+
+ ## Agregar un archivo de especificación de OpenAPI
+
+
+Para documentar tus endpoints con OpenAPI, necesitas un documento de OpenAPI válido en formato JSON o YAML que cumpla con la [especificación OpenAPI 3.0+](https://swagger.io/specification/).
+
+Puedes crear páginas de API a partir de uno o varios documentos de OpenAPI.
+
+
+ ### Describir tu API
+
+
+Recomendamos los siguientes recursos para aprender a crear y estructurar tus documentos de OpenAPI.
+
+* [Guía de OpenAPI de Swagger](https://swagger.io/docs/specification/v3_0/basic-structure/) para aprender la sintaxis de OpenAPI.
+* [Fuentes Markdown de la especificación de OpenAPI](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/) para consultar los detalles de la especificación OpenAPI más reciente.
+* [Swagger Editor](https://editor.swagger.io/) para editar, validar y depurar tu documento de OpenAPI.
+* [La CLI de Mint](https://www.npmjs.com/package/mint) para validar tu documento de OpenAPI con el comando: `mint openapi-check `.
+
+
+ La Guía de OpenAPI de Swagger es para OpenAPI v3.0, pero casi toda la información
+ es aplicable a v3.1. Para obtener más información sobre las diferencias entre v3.0
+ y v3.1, consulta [Migración de OpenAPI 3.0 a
+ 3.1.0](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0)
+ en el blog de OpenAPI.
+
+
+
+ ### Especificar la URL de tu API
+
+
+Para habilitar funciones de Mintlify como el Área de pruebas de API, agrega un campo `servers` a tu documento de OpenAPI con la URL base de tu API.
+
+```json
+{
+ "servers": [
+ {
+ "url": "https://api.example.com/v1"
+ }
+ ]
+}
+```
+
+En un documento de OpenAPI, los distintos endpoints de la API se especifican por sus rutas, como `/users/{id}` o simplemente `/`. La URL base define dónde deben añadirse estas rutas. Para más información sobre cómo configurar el campo `servers`, consulta [API Server and Base Path](https://swagger.io/docs/specification/api-host-and-base-path/) en la documentación de OpenAPI.
+
+El Área de pruebas de API usa estas URL de servidor para determinar adónde enviar las solicitudes. Si especificas varios servidores, un menú desplegable permitirá a los usuarios alternar entre ellos. Si no especificas un servidor, el Área de pruebas de API usará el modo simple, ya que no puede enviar solicitudes sin una URL base.
+
+Si tu API tiene endpoints que existen en diferentes URL, puedes [sobrescribir el campo de servidor](https://swagger.io/docs/specification/v3_0/api-host-and-base-path/#overriding-servers) para una ruta u operación específica.
+
+
+ ### Especificar la autenticación
+
+
+Para habilitar la autenticación en tu documentación y en el área de pruebas de la API, configura los campos `securitySchemes` y `security` en tu documento de OpenAPI. Las descripciones de la API y el Área de pruebas de API añadirán campos de autenticación según las configuraciones de seguridad de tu documento de OpenAPI.
+
+
+
+ Agrega un campo `securitySchemes` para definir cómo se autentican los usuarios.
+
+ Este ejemplo muestra una configuración para autenticación bearer.
+
+ ```json
+ {
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+ Agrega un campo `security` para requerir autenticación.
+
+ ```json
+ {
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ ```
+
+
+
+Los tipos comunes de autenticación incluyen:
+
+* [API Keys](https://swagger.io/docs/specification/authentication/api-keys/): Para claves en encabezado, query o cookie.
+* [Bearer](https://swagger.io/docs/specification/authentication/bearer-authentication/): Para tokens JWT u OAuth.
+* [Basic](https://swagger.io/docs/specification/authentication/basic-authentication/): Para nombre de usuario y contraseña.
+
+Si distintos endpoints de tu API requieren diferentes métodos de autenticación, puedes [sobrescribir el campo de seguridad](https://swagger.io/docs/specification/authentication/#:~:text=you%20can%20apply%20them%20to%20the%20whole%20API%20or%20individual%20operations%20by%20adding%20the%20security%20section%20on%20the%20root%20level%20or%20operation%20level%2C%20respectively.) para una operación específica.
+
+Para más información sobre cómo definir y aplicar la autenticación, consulta [Authentication](https://swagger.io/docs/specification/authentication/) en la documentación de OpenAPI.
+
+
+ ## Extensión `x-mint`
+
+
+La extensión `x-mint` es una extensión personalizada de OpenAPI que ofrece un mayor control sobre cómo se genera y se muestra la documentación de tu API.
+
+
+ ### Metadatos
+
+
+Sobrescribe los metadatos predeterminados de las páginas de API generadas agregando `x-mint: metadata` a cualquier operación. Puedes usar cualquier campo de metadatos válido en el frontmatter de `MDX`, excepto `openapi`:
+
+```json {7-13}
+{
+ "paths": {
+ "/users": {
+ "get": {
+ "summary": "Obtener usuarios",
+ "description": "Obtener una lista de usuarios",
+ "x-mint": {
+ "metadata": {
+ "title": "Listar todos los usuarios",
+ "description": "Obtener datos de usuarios paginados con opciones de filtrado",
+ "og:title": "Mostrar una lista de usuarios",
+ }
+ },
+ "parameters": [
+ {
+ // Configuración del parámetro
+ }
+ ]
+ }
+ }
+ }
+}
+```
+
+
+ ### Contenido
+
+
+Agrega contenido antes de la documentación de API generada automáticamente usando `x-mint: content`:
+
+```json {6-8}
+{
+ "paths": {
+ "/users": {
+ "post": {
+ "summary": "Crear usuario",
+ "x-mint": {
+ "content": "## Requisitos previos\n\nEste endpoint requiere privilegios de administrador y tiene límites de tasa.\n\nLas direcciones de correo electrónico de los usuarios deben ser únicas en todo el sistema."
+ },
+ "parameters": [
+ {
+ // Parameter configuration
+ }
+ ]
+ }
+ }
+ }
+}
+```
+
+La extensión `content` es compatible con todos los componentes y el formato MDX de Mintlify.
+
+
+ ### Href
+
+
+Cambia la URL de la página del endpoint en tu documentación usando `x-mint: href`:
+
+```json {6-8, 14-16}
+{
+ "paths": {
+ "/legacy-endpoint": {
+ "get": {
+ "summary": "Endpoint heredado",
+ "x-mint": {
+ "href": "/deprecated-endpoints/legacy-endpoint"
+ }
+ }
+ },
+ "/documented-elsewhere": {
+ "post": {
+ "summary": "Endpoint especial"
+ "x-mint": {
+ "href": "/guides/special-endpoint-guide"
+ }
+ }
+ }
+ }
+}
+```
+
+Cuando `x-mint: href` está presente, la entrada de navegación enlaza directamente a la URL especificada en lugar de generar una página de API.
+
+
+ ### MCP
+
+
+Expón selectivamente endpoints como herramientas del Model Context Protocol (MCP) usando `x-mint: mcp`. Habilita solo los endpoints que sean seguros para el acceso público a través de herramientas de IA.
+
+
+ La configuración de MCP para el endpoint.
+
+
+
+ Indica si se expone el endpoint como herramienta MCP. Tiene prioridad sobre la configuración a nivel de archivo.
+
+
+
+ El nombre de la herramienta MCP.
+
+
+
+ La descripción de la herramienta MCP.
+
+
+
+
+
+ ```json Selective enablement {6-9} wrap
+ {
+ "paths": {
+ "/users": {
+ "post": {
+ "summary": "Create user",
+ "x-mint": {
+ "mcp": {
+ "enabled": true
+ },
+ // ...
+ }
+ }
+ },
+ "/users": {
+ "delete": {
+ "summary": "Delete user (admin only)",
+ // No `x-mint: mcp` so this endpoint is not exposed as an MCP tool
+ // ...
+ }
+ }
+ }
+ }
+ ```
+
+ ```json Global enablement {3-5, 9-13} wrap
+ {
+ "openapi": "3.1.0",
+ "x-mcp": {
+ "enabled": true // All endpoints are exposed as MCP tools by default
+ },
+ "paths": {
+ "/api/admin/delete": {
+ "delete": {
+ "x-mint": {
+ "mcp": {
+ "enabled": false // Disable MCP for this endpoint
+ }
+ },
+ "summary": "Delete resources"
+ }
+ }
+ }
+ }
+ ```
+
+
+Para obtener más información, consulta [Model Context Protocol](/es/ai/model-context-protocol).
+
+
+ ## Rellenar automáticamente páginas de API
+
+
+Agrega un campo `openapi` a cualquier elemento de navegación en tu `docs.json` para generar automáticamente páginas para endpoints de OpenAPI. Puedes controlar dónde aparecen estas páginas en tu estructura de navegación, ya sea como secciones de API dedicadas o junto con otras páginas.
+
+El campo `openapi` acepta una ruta de archivo en tu repositorio de documentación o una URL a un documento de OpenAPI alojado.
+
+Las páginas de endpoints generadas tienen estos metadatos predeterminados:
+
+* `title`: El campo `summary` de la operación, si está presente. Si no hay `summary`, el título se genera a partir del método HTTP y del endpoint.
+* `description`: El campo `description` de la operación, si está presente.
+* `version`: El valor de `version` del ancla o pestaña principal, si está presente.
+* `deprecated`: El campo `deprecated` de la operación. Si es `true`, aparecerá una etiqueta de “deprecated” junto al título del endpoint en la navegación lateral y en la página del endpoint.
+
+
+ Para excluir endpoints específicos de tus páginas de API generadas automáticamente, agrega la propiedad
+ [x-hidden](/es/api-playground/customization/managing-page-visibility#x-hidden)
+ a la operación en tu especificación de OpenAPI.
+
+
+Hay dos enfoques para agregar páginas de endpoints a tu documentación:
+
+1. **Secciones de API dedicadas**: Referencia especificaciones de OpenAPI en elementos de navegación para secciones de API dedicadas.
+2. **Endpoints selectivos**: Referencia endpoints específicos en tu navegación junto con otras páginas.
+
+
+ ### Secciones de API dedicadas
+
+
+Genera secciones de API dedicadas agregando un campo `openapi` a un elemento de navegación y sin otras páginas. Se incluirán todos los endpoints de la especificación:
+
+```json {5}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "Referencia de la API"
+ "openapi": "https://petstore3.swagger.io/api/v3/openapi.json"
+ }
+ ]
+}
+```
+
+Puedes usar varias especificaciones de OpenAPI en diferentes secciones de navegación:
+
+```json {8-11, 15-18}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "Referencia de la API",
+ "groups": [
+ {
+ "group": "Usuarios",
+ "openapi": {
+ "source": "/path/to/openapi-1.json",
+ "directory": "api-reference"
+ }
+ },
+ {
+ "group": "Administración"
+ "openapi": {
+ "source": "/path/to/openapi-2.json",
+ "directory": "api-reference"
+ }
+ }
+ ]
+ }
+ ]
+}
+```
+
+
+ El campo `directory` es opcional y especifica dónde se almacenan las páginas de API generadas
+ en tu repositorio de documentación. Si no se especifica, se usará por defecto el directorio `api-reference`
+ de tu repositorio.
+
+
+
+ ### Endpoints selectivos
+
+
+Cuando necesites más control sobre dónde aparecen los endpoints en tu documentación, puedes referenciar endpoints específicos en la navegación. Este enfoque te permite generar páginas para endpoints de API junto con otros contenidos.
+
+
+ #### Definir una especificación OpenAPI predeterminada
+
+
+Configura una especificación OpenAPI predeterminada para un elemento de navegación. Luego referencia endpoints específicos en el campo `pages`:
+
+```json {12, 15-16}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "Primeros pasos",
+ "pages": [
+ "quickstart",
+ "installation"
+ ]
+ },
+ {
+ "tab": "Referencia de la API",
+ "openapi": "/path/to/openapi.json",
+ "pages": [
+ "api-overview",
+ "GET /users",
+ "POST /users",
+ "guides/authentication"
+ ]
+ }
+ ]
+}
+```
+
+Cualquier entrada de página que coincida con el formato `METHOD /path` generará una página de API para ese endpoint usando la especificación predeterminada de OpenAPI.
+
+
+ #### Herencia de la especificación de OpenAPI
+
+
+Las especificaciones de OpenAPI se heredan a lo largo de la jerarquía de navegación. Los elementos de navegación secundarios heredan la especificación de OpenAPI de su elemento principal, a menos que definan la suya propia:
+
+```json {3, 7-8, 11, 13-14}
+{
+ "group": "Referencia de la API",
+ "openapi": "/path/to/openapi-v1.json",
+ "pages": [
+ "overview",
+ "authentication",
+ "GET /users",
+ "POST /users",
+ {
+ "group": "Pedidos",
+ "openapi": "/path/to/openapi-v2.json",
+ "pages": [
+ "GET /orders",
+ "POST /orders"
+ ]
+ }
+ ]
+}
+```
+
+
+ #### Endpoints individuales
+
+
+Hace referencia a endpoints específicos sin establecer una especificación de OpenAPI predeterminada, incluyendo la ruta del archivo:
+
+```json {5-6}
+"navigation": {
+ "pages": [
+ "introducción",
+ "guías de usuario"
+ "/path/to/openapi-v1.json POST /users",
+ "/path/to/openapi-v2.json GET /orders"
+ ]
+}
+```
+
+Este enfoque es útil cuando necesitas endpoints individuales de distintas especificaciones o solo quieres incluir algunos endpoints seleccionados.
+
+
+ ## Crear archivos `MDX` para páginas de API
+
+
+Para controlar páginas de endpoints individuales, crea páginas `MDX` para cada operación. Esto te permite personalizar los metadatos de la página, añadir contenido, omitir ciertas operaciones o reordenar páginas en tu navegación a nivel de página.
+
+Consulta un [ejemplo de página de OpenAPI en MDX de MindsDB](https://github.com/mindsdb/mindsdb/blob/main/docs/rest/databases/create-databases.mdx?plain=1) y cómo aparece en su [documentación en producción](https://docs.mindsdb.com/rest/databases/create-databases).
+
+
+ ### Especificar archivos manualmente
+
+
+Crea una página `MDX` para cada endpoint y especifica qué operación de OpenAPI mostrar utilizando el campo `openapi` en el frontmatter.
+
+Cuando haces referencia a una operación de OpenAPI de esta manera, el nombre, la descripción, los parámetros, las respuestas y el Área de pruebas de API se generan automáticamente a partir de tu documento de OpenAPI.
+
+Si tienes varios archivos de OpenAPI, incluye la ruta del archivo en tu referencia para asegurarte de que Mintlify encuentre el documento de OpenAPI correcto. Si solo tienes un archivo de OpenAPI, Mintlify lo detectará automáticamente.
+
+
+ Este enfoque funciona independientemente de si has establecido una especificación de OpenAPI predeterminada
+ en tu navegación. Puedes hacer referencia a cualquier endpoint de cualquier especificación de OpenAPI
+ incluyendo la ruta del archivo en el frontmatter.
+
+
+Si deseas hacer referencia a un archivo externo de OpenAPI, añade la URL del archivo a tu `docs.json`.
+
+
+ ```mdx Example
+ ---
+ title: "Get users"
+ description: "Returns all plants from the system that the user has access to"
+ openapi: "/path/to/openapi-1.json GET /users"
+ deprecated: true
+ version: "1.0"
+ ---
+ ```
+
+ ```mdx Format
+ ---
+ title: "title of the page"
+ description: "description of the page"
+ openapi: openapi-file-path method path
+ deprecated: boolean (not required)
+ version: "version-string" (not required)
+ ---
+ ```
+
+
+
+ El método y la ruta deben coincidir exactamente con la definición en tu especificación de OpenAPI.
+ Si el endpoint no existe en el archivo de OpenAPI, la página quedará vacía.
+
+
+
+ ### Generar archivos `MDX` automáticamente
+
+
+Utiliza nuestro [scraper](https://www.npmjs.com/package/@mintlify/scraping) de Mintlify para generar automáticamente páginas `MDX` para documentos de OpenAPI grandes.
+
+
+ Tu documento de OpenAPI debe ser válido o los archivos no se generarán automáticamente.
+
+
+El scraper genera:
+
+* Una página `MDX` por cada operación en el campo `paths` de tu documento de OpenAPI.
+* Si tu documento de OpenAPI es versión 3.1+, una página `MDX` por cada operación en el campo `webhooks` de tu documento de OpenAPI.
+* Un array de entradas de navegación que puedes añadir a tu `docs.json`.
+
+
+
+ ```bash
+ npx @mintlify/scraping@latest openapi-file
+ ```
+
+
+
+ ```bash
+ npx @mintlify/scraping@latest openapi-file -o api-reference
+ ```
+
+ Añade la opción `-o` para indicar una carpeta donde guardar los archivos. Si no se especifica una carpeta, los archivos se crearán en el directorio de trabajo.
+
+
+
+
+ ### Crear archivos `MDX` para esquemas de OpenAPI
+
+
+Puedes crear páginas individuales para cualquier esquema de OpenAPI definido en el campo `components.schema` de un documento de OpenAPI:
+
+
+ ```mdx Example
+ ---
+ openapi-schema: OrderItem
+ ---
+ ```
+
+ ```mdx Format
+ ---
+ openapi-schema: "schema-key"
+ ---
+ ```
+
+
+
+ ## Webhooks
+
+
+Los webhooks son devoluciones de llamada HTTP que tu API envía para notificar a sistemas externos cuando se producen eventos. Los webhooks son compatibles en documentos de OpenAPI 3.1+.
+
+
+ ### Define webhooks en tu especificación de OpenAPI
+
+
+Agrega un campo `webhooks` a tu documento de OpenAPI junto al campo `paths`.
+
+Para obtener más información sobre cómo definir webhooks, consulta [Webhooks](https://spec.openapis.org/oas/v3.1.0#oasWebhooks) en la documentación de OpenAPI.
+
+
+ ### Referencia webhooks en archivos MDX
+
+
+Al crear páginas MDX para webhooks, usa `webhook` en lugar de métodos HTTP como `GET` o `POST`:
+
+```mdx
+---
+title: "Webhook de ejemplo"
+description: "Se activa cuando se produce un evento"
+openapi: "path/to/openapi-file webhook example-webhook-name"
+---
+```
+
+
+ El nombre del webhook debe coincidir exactamente con la clave definida en el campo `webhooks`
+ de tu especificación de OpenAPI.
+
diff --git a/es/api-playground/overview.mdx b/es/api-playground/overview.mdx
new file mode 100644
index 000000000..ba79a935c
--- /dev/null
+++ b/es/api-playground/overview.mdx
@@ -0,0 +1,161 @@
+---
+title: "Playground"
+description: "Permite que los usuarios interactúen con tu API"
+icon: "play"
+---
+
+
+ ## Descripción general
+
+
+El Área de pruebas de API es un entorno interactivo que permite a los usuarios probar y explorar tus endpoints de API. Los desarrolladores pueden crear solicitudes de API, enviarlas y ver las respuestas sin salir de tu documentación.
+
+
+
+
+
+
+
+El Área de pruebas se genera automáticamente a partir de tu especificación OpenAPI o del esquema AsyncAPI, por lo que cualquier actualización de tu API se refleja automáticamente allí. También puedes crear manualmente páginas de referencia de API después de definir una URL base y un método de autenticación en tu `docs.json`.
+
+Recomendamos generar tu Área de pruebas de API a partir de una especificación OpenAPI. Consulta [Configuración de OpenAPI](/es/api-playground/openapi-setup) para obtener más información sobre cómo crear tu documento de OpenAPI.
+
+
+ ## Primeros pasos
+
+
+
+
+
+ Asegúrate de que tu archivo de especificación de OpenAPI sea válido usando el [Swagger Editor](https://editor.swagger.io/) o el [Mint CLI](https://www.npmjs.com/package/mint).
+
+
+ ```bash {3}
+ /your-project
+ |- docs.json
+ |- openapi.json
+ ```
+
+
+
+ Actualiza tu `docs.json` para hacer referencia a tu especificación de OpenAPI. Agrega una propiedad `openapi` a cualquier elemento de navegación para rellenar automáticamente tu documentación con páginas para cada endpoint especificado en tu documento de OpenAPI.
+
+ Este ejemplo genera una página para cada endpoint especificado en `openapi.json` y las organiza en el grupo "API reference" de tu navegación.
+
+ ```json
+ "navigation": {
+ "groups": [
+ {
+ "group": "API reference",
+ "openapi": "openapi.json"
+ }
+ ]
+ }
+ ```
+
+ Para generar páginas solo para endpoints específicos, enumera los endpoints en la propiedad `pages` del elemento de navegación.
+
+ Este ejemplo genera páginas solo para los endpoints `GET /users` y `POST /users`. Para generar otras páginas de endpoints, agrega endpoints adicionales al arreglo `pages`.
+
+ ```json
+ "navigation": {
+ "groups": [
+ {
+ "group": "API reference",
+ "openapi": "openapi.json",
+ "pages": [
+ "GET /users",
+ "POST /users"
+ ]
+ }
+ ]
+ }
+ ```
+
+
+
+
+ ## Personalizar tu área de pruebas
+
+
+Puedes personalizar tu Área de pruebas de API definiendo las siguientes propiedades en tu `docs.json`.
+
+
+ Configuración del Área de pruebas de API.
+
+
+
+ El modo de visualización del Área de pruebas de API.
+
+ * `"interactive"`: Muestra el área de pruebas interactiva.
+ * `"simple"`: Muestra un endpoint copiable sin área de pruebas.
+ * `"none"`: No muestra nada.
+
+ Valor predeterminado: `interactive`.
+
+
+
+ Indica si las solicitudes de API se enrutan a través de un servidor proxy. Valor predeterminado: `true`.
+
+
+
+
+
+ Configuración de los ejemplos de API generados automáticamente.
+
+
+
+ Lenguajes para los Fragmentos de API generados automáticamente.
+
+ Se muestran en el orden especificado.
+
+
+
+ Indica si se muestran los parámetros opcionales en los ejemplos de API. Valor predeterminado: `all`.
+
+
+
+
+
+ ### Ejemplo de configuración
+
+
+```json
+{
+ "api": {
+ "playground": {
+ "display": "interactivo"
+ },
+ "examples": {
+ "languages": ["curl", "python", "javascript"],
+ "defaults": "obligatorio"
+ }
+ }
+}
+```
+
+Este ejemplo configura el área de pruebas de API para que sea interactiva e incluya fragmentos de código de ejemplo para cURL, Python y JavaScript. Solo se muestran los parámetros obligatorios en los fragmentos de código.
+
+
+ ### Páginas personalizadas de endpoints
+
+
+Cuando necesites más control sobre la documentación de tu API, usa la extensión `x-mint` en tu especificación de OpenAPI o crea páginas `MDX` individuales para tus endpoints.
+
+Ambas opciones te permiten:
+
+* Personalizar los metadatos de la página
+* Agregar contenido adicional, como ejemplos
+* Controlar el comportamiento del playground por página
+
+Se recomienda la extensión `x-mint` para que toda tu documentación de API se genere automáticamente a partir de tu especificación de OpenAPI y se mantenga en un solo archivo.
+
+Se recomiendan las páginas `MDX` individuales para APIs pequeñas o cuando quieras experimentar con cambios por página.
+
+Para obtener más información, consulta [Extensión x-mint](/es/api-playground/openapi-setup#x-mint-extension) y [Configuración de MDX](/es/api-playground/mdx/configuration).
+
+
+ ## Lecturas adicionales
+
+
+* [Configuración de AsyncAPI](/es/api-playground/asyncapi/setup) para obtener más información sobre cómo crear tu esquema de AsyncAPI y generar páginas de referencia de WebSocket.
\ No newline at end of file
diff --git a/es/api-playground/troubleshooting.mdx b/es/api-playground/troubleshooting.mdx
new file mode 100644
index 000000000..c9ee52a9b
--- /dev/null
+++ b/es/api-playground/troubleshooting.mdx
@@ -0,0 +1,106 @@
+---
+title: "Solución de problemas"
+description: "Problemas comunes con las referencias de API"
+icon: "message-square-warning"
+---
+
+Si tus páginas de API no se muestran correctamente, revisa estos problemas de configuración comunes:
+
+
+
+ En este escenario, es probable que Mintlify no pueda encontrar tu documento de OpenAPI o que tu documento de OpenAPI no sea válido.
+
+ Ejecutar `mint dev` localmente debería revelar algunos de estos problemas.
+
+ Para verificar que tu documento de OpenAPI pase la validación:
+
+ 1. Visita [este validador](https://editor.swagger.io/)
+ 2. Cambia a la pestaña "Validate text"
+ 3. Pega tu documento de OpenAPI
+ 4. Haz clic en "Validate it!"
+
+ Si el cuadro de texto que aparece abajo tiene un borde verde, tu documento ha pasado la validación.
+ Este es exactamente el paquete de validación que usa Mintlify para validar documentos de OpenAPI, así que si tu documento
+ pasa la validación aquí, es muy probable que el problema esté en otro lugar.
+
+ Además, Mintlify no es compatible con OpenAPI 2.0. Si tu documento usa esta versión de la especificación,
+ podrías encontrarte con este problema. Puedes convertir tu documento en [editor.swagger.io](https://editor.swagger.io/) (en Edit > Convert to OpenAPI 3):
+
+
+ 
+
+
+
+
+ Esto suele deberse a un campo `openapi` mal escrito en los metadatos de la página. Asegúrate de que el método HTTP y la ruta coincidan exactamente con el método HTTP y la ruta del documento de OpenAPI.
+
+ Aquí tienes un ejemplo de cómo podría salir mal:
+
+ ```mdx get-user.mdx
+ ---
+ openapi: "GET /users/{id}/"
+ ---
+ ```
+
+ ```yaml openapi.yaml
+ paths:
+ "/users/{id}":
+ get: ...
+ ```
+
+ Observa que la ruta en el campo `openapi` tiene una barra al final, mientras que la ruta en el documento de OpenAPI no.
+
+ Otro problema común es un nombre de archivo mal escrito. Si estás especificando un documento de OpenAPI en particular en el campo `openapi`, asegúrate de que el nombre del archivo sea correcto. Por ejemplo, si tienes dos documentos de OpenAPI, `openapi/v1.json` y `openapi/v2.json`, tus metadatos podrían verse así:
+
+ ```mdx referencia-de-api/v1/usuarios/obtener-usuario.mdx
+ ---
+ openapi: "v1 GET /users/{id}"
+ ---
+ ```
+
+
+
+ Si tienes un dominio personalizado configurado, puede tratarse de un problema con tu proxy inverso. De forma predeterminada, las solicitudes realizadas a través del Área de pruebas de API comienzan con una solicitud `POST` a la ruta `/_mintlify/api/request` en el sitio de documentación. Si tu proxy inverso está configurado para permitir solo solicitudes `GET`, todas estas solicitudes fallarán. Para solucionarlo, configura tu proxy inverso para permitir solicitudes `POST` a la ruta `/_mintlify/api/request`.
+
+ Como alternativa, si tu proxy inverso impide aceptar solicitudes `POST`, puedes configurar Mintlify para enviar solicitudes directamente a tu backend con el ajuste `api.playground.proxy` en el `docs.json`, como se describe en la [documentación de configuración](/es/settings#param-proxy). Al usar esta configuración, deberás configurar CORS en tu servidor, ya que las solicitudes vendrán directamente desde los navegadores de los usuarios en lugar de pasar por tu proxy.
+
+
+
+ Si utilizas una configuración de navegación de OpenAPI pero las páginas no se generan, revisa estos problemas comunes:
+
+ 1. **Falta la especificación predeterminada de OpenAPI**: Asegúrate de tener definido un campo `openapi` para el elemento de navegación:
+
+ ```json {5}
+ "navigation": {
+ "groups": [
+ {
+ "group": "Referencia de la API",
+ "openapi": "/path/to/openapi.json",
+ "pages": [
+ "GET /users",
+ "POST /users"
+ ]
+ }
+ ]
+ }
+ ```
+
+ 2. **Herencia de la especificación OpenAPI**: Si usas navegación anidada, asegúrate de que los grupos secundarios hereden la especificación de OpenAPI correcta o definan la suya propia.
+
+ 3. **Problemas de validación**: Usa `mint openapi-check ` para verificar que tu documento de OpenAPI sea válido.
+
+
+
+ 1. **Operaciones ocultas**: Las operaciones marcadas con `x-hidden: true` en tu especificación de OpenAPI no aparecerán en la navegación generada automáticamente.
+ 2. **Operaciones no válidas**: Las operaciones con errores de validación en la especificación de OpenAPI pueden omitirse. Revisa tu documento de OpenAPI para detectar errores de sintaxis.
+ 3. **Inclusión manual vs. automática**: Si haces referencia a endpoints de una especificación de OpenAPI, solo las operaciones referenciadas explícitamente aparecerán en la navegación. No se añadirán otras páginas automáticamente. Esto incluye las operaciones referenciadas en elementos de navegación secundarios.
+
+
+
+ Al combinar operaciones de OpenAPI con páginas de documentación normales en la navegación:
+
+ 1. **Conflictos de archivos**: No puedes tener a la vez un archivo `MDX` y una entrada de navegación para la misma operación. Por ejemplo, si tienes `get-users.mdx`, no incluyas también "GET /users" en tu navegación. Si necesitas un archivo que comparta nombre con una operación, usa la extensión `x-mint` en el endpoint para que el href apunte a otra ubicación.
+ 2. **Resolución de rutas**: Las entradas de navegación que no coincidan con operaciones de OpenAPI se tratarán como rutas de archivo. Asegúrate de que tus archivos `MDX` existan en las ubicaciones previstas.
+ 3. **Distingue mayúsculas y minúsculas**: La coincidencia de operaciones de OpenAPI distingue entre mayúsculas y minúsculas. Asegúrate de que los métodos HTTP estén en mayúsculas en las entradas de navegación.
+
+
\ No newline at end of file
diff --git a/es/api-reference/assistant/create-assistant-message.mdx b/es/api-reference/assistant/create-assistant-message.mdx
new file mode 100644
index 000000000..911faf52a
--- /dev/null
+++ b/es/api-reference/assistant/create-assistant-message.mdx
@@ -0,0 +1,25 @@
+---
+openapi: POST /assistant/{domain}/message
+---
+
+
+
+
+ ## Límites de uso
+
+
+La API del Asistente tiene los siguientes límites:
+
+- 10.000 usos por clave al mes
+- 10.000 solicitudes por organización de Mintlify por hora
+- 10.000 solicitudes por IP al día
+
+
+
+
+ ## Uso recomendado
+
+
+Para obtener los mejores resultados, utiliza el [hook useChat de ai-sdk](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#usechat) para enviar solicitudes y gestionar respuestas.
+
+Puedes establecer `fp`, `threadId` y `filter` en el campo `body` del parámetro de opciones que se pasa al hook.
\ No newline at end of file
diff --git a/es/api-reference/assistant/create-topic.mdx b/es/api-reference/assistant/create-topic.mdx
new file mode 100644
index 000000000..dc00663e3
--- /dev/null
+++ b/es/api-reference/assistant/create-topic.mdx
@@ -0,0 +1,3 @@
+---
+openapi: POST /chat/topic
+---
diff --git a/es/api-reference/assistant/generate-message.mdx b/es/api-reference/assistant/generate-message.mdx
new file mode 100644
index 000000000..b1cdbbb37
--- /dev/null
+++ b/es/api-reference/assistant/generate-message.mdx
@@ -0,0 +1,3 @@
+---
+openapi: POST /chat/message
+---
diff --git a/es/api-reference/assistant/search.mdx b/es/api-reference/assistant/search.mdx
new file mode 100644
index 000000000..aad5f0e85
--- /dev/null
+++ b/es/api-reference/assistant/search.mdx
@@ -0,0 +1,3 @@
+---
+openapi: "POST /search/{domain}"
+---
diff --git a/es/api-reference/introduction.mdx b/es/api-reference/introduction.mdx
new file mode 100644
index 000000000..4c57a3604
--- /dev/null
+++ b/es/api-reference/introduction.mdx
@@ -0,0 +1,46 @@
+---
+title: "Introducción"
+description: "Activar actualizaciones, integrar el Asistente de IA y más"
+icon: "book-open"
+---
+
+La API REST de Mintlify te permite interactuar con tu documentación de forma programática, activar actualizaciones e integrar experiencias de chat con IA.
+
+
+ ## Endpoints
+
+
+* [Trigger update](/es/api-reference/update/trigger): Activa una actualización de tu sitio cuando lo necesites.
+* [Get update status](/es/api-reference/update/status): Obtén el estado de una actualización y otros detalles de tu documentación.
+* [Generate assistant message](/es/api-reference/assistant/create-assistant-message): Inserta el Asistente, entrenado con tu documentación, en cualquier aplicación que elijas.
+* [Search documentation](/es/api-reference/assistant/search): Busca en tu documentación.
+
+
+ ## Autenticación
+
+
+Puedes generar una clave de API desde el [panel de control](https://dashboard.mintlify.com/settings/organization/api-keys). Las claves de API están asociadas a toda la organización y se pueden usar en múltiples implementaciones.
+
+
+ ### Clave de API de administrador
+
+
+La clave de API de administrador se usa para los endpoints [Trigger update](/es/api-reference/update/trigger) y [Get update status](/es/api-reference/update/status).
+
+Las claves de API de administrador comienzan con el prefijo `mint_`. Mantén tus claves de API de administrador en secreto.
+
+
+ ### Clave de API del Asistente
+
+
+La clave de API del Asistente se usa para los endpoints [Generate assistant message](/es/api-reference/assistant/create-assistant-message) y [Search documentation](/es/api-reference/assistant/search).
+
+Las claves de API del Asistente comienzan con el prefijo `mint_dsc_`.
+
+La **clave** de la API del Asistente es un token del lado del servidor que debe mantenerse en secreto.
+
+El **token** de la API del Asistente es un token público que puede referenciarse en tu código de frontend.
+
+
+ Las llamadas que usan el token de la API del Asistente pueden generar costos: ya sea consumiendo tus créditos del Asistente de IA o incurriendo en excedentes.
+
diff --git a/es/api-reference/update/status.mdx b/es/api-reference/update/status.mdx
new file mode 100644
index 000000000..9e2e93b66
--- /dev/null
+++ b/es/api-reference/update/status.mdx
@@ -0,0 +1,3 @@
+---
+openapi: "GET /project/update-status/{statusId}"
+---
diff --git a/es/api-reference/update/trigger.mdx b/es/api-reference/update/trigger.mdx
new file mode 100644
index 000000000..26b0968f3
--- /dev/null
+++ b/es/api-reference/update/trigger.mdx
@@ -0,0 +1,3 @@
+---
+openapi: "POST /project/update/{projectId}"
+---
diff --git a/es/assistant-context.mdx b/es/assistant-context.mdx
new file mode 100644
index 000000000..9e3129075
--- /dev/null
+++ b/es/assistant-context.mdx
@@ -0,0 +1,9 @@
+---
+title: "Contexto del Asistente"
+description: "Esta página contiene contexto para ayudar al asistente a responder consultas"
+---
+
+Para el Asistente, consulta esta información al responder consultas.
+
+- Si alguien pregunta por el registro de cambios, las actualizaciones recientes o las novedades, envíalos al registro de cambios de Mintlify en https://mintlify.com/docs/changelog
+- Si alguien pregunta por traducciones, proporciona la información que consideres relevante según tu búsqueda y el contexto de su consulta, y comunícales que las traducciones automatizadas están disponibles como complemento. Pueden contactar al equipo de ventas (gtm@mintlify.com) para obtener traducciones automatizadas.
diff --git a/es/authentication-personalization/authentication-setup.mdx b/es/authentication-personalization/authentication-setup.mdx
new file mode 100644
index 000000000..8e242a03c
--- /dev/null
+++ b/es/authentication-personalization/authentication-setup.mdx
@@ -0,0 +1,322 @@
+---
+title: "Configuración de la autenticación"
+description: "Controla la privacidad de tu documentación mediante la autenticación de usuarios"
+icon: "file-lock"
+keywords: ['auth']
+---
+
+
+ Los [planes Pro](https://mintlify.com/pricing?ref=authentication) incluyen autenticación por contraseña.
+
+ Los [planes Enterprise](https://mintlify.com/pricing?ref=authentication) incluyen todos los métodos de autenticación.
+
+
+La autenticación requiere que los usuarios inicien sesión antes de acceder a tu documentación.
+
+
+ ## Modos de autenticación
+
+
+Elige entre autenticación completa o parcial según tus necesidades de control de acceso.
+
+**Autenticación completa**: Todas las páginas están protegidas. Los usuarios deben iniciar sesión antes de acceder a cualquier contenido.
+
+**Autenticación parcial**: Algunas páginas son públicas, mientras que otras requieren autenticación. Los usuarios pueden explorar libremente el contenido público y autenticarse solo al acceder a páginas protegidas.
+
+Al configurar cualquiera de los métodos de autenticación a continuación, deberás seleccionar **Autenticación completa** o **Autenticación parcial** en la configuración del panel.
+
+
+ ## Configuración de la autenticación
+
+
+Selecciona el método de handshake que quieres configurar.
+
+
+
+
+ La autenticación con contraseña ofrece únicamente control de acceso y **no** admite la personalización de contenido.
+
+
+ ### Requisitos previos
+
+ * Tus requisitos de seguridad permiten compartir contraseñas entre usuarios.
+
+ ### Implementación
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Full Authentication** o **Partial Authentication**.
+ 3. Selecciona **Password**.
+ 4. Introduce una contraseña segura.
+ 5. Selecciona **Save changes**.
+
+
+
+ Comparte de forma segura la contraseña y la URL de la documentación con los usuarios autorizados.
+
+
+
+ ## Ejemplo
+
+ Tu documentación está alojada en `docs.foo.com` y necesitas un control de acceso básico sin rastrear a usuarios individuales. Quieres evitar el acceso público manteniendo una configuración simple.
+
+ **Crea una contraseña segura** en tu panel. **Comparte las credenciales** con los usuarios autorizados. ¡Listo!
+
+
+
+ ### Requisitos previos
+
+ * Los usuarios de tu documentación también son quienes la editan.
+
+ ### Implementación
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Autenticación completa** o **Autenticación parcial**.
+ 3. Selecciona **Mintlify Auth**.
+ 4. Selecciona **Enable Mintlify Auth**.
+
+
+
+ 1. En tu panel, ve a [Members](https://dashboard.mintlify.com/settings/organization/members).
+ 2. Añade a cada persona que deba tener acceso a tu documentación.
+ 3. Asigna los roles adecuados según sus permisos de edición.
+
+
+
+ ### Ejemplo
+
+ Tu documentación está alojada en `docs.foo.com` y tu equipo usa el panel para editarla. Quieres restringir el acceso solo a los miembros del equipo.
+
+ **Habilita la autenticación de Mintlify** en la configuración de tu panel.
+
+ **Verifica el acceso del equipo** comprobando que todos los miembros del equipo estén añadidos a tu organización.
+
+
+
+ ### Requisitos previos
+
+ * Un servidor OAuth u OIDC que admita el Authorization Code Flow.
+ * Capacidad para crear un endpoint de API accesible mediante tokens de acceso de OAuth (opcional, para habilitar funciones de personalización).
+
+ ### Implementación
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Full Authentication** o **Partial Authentication**.
+ 3. Selecciona **OAuth** y configura estos campos:
+
+ * **Authorization URL**: Tu endpoint de OAuth.
+ * **Client ID**: Tu identificador de cliente de OAuth 2.0.
+ * **Client Secret**: Tu secreto de cliente de OAuth 2.0.
+ * **Scopes**: Permisos a solicitar. Copia la cadena de scope **completa** (por ejemplo, para un scope como `provider.users.docs`, copia el `provider.users.docs` completo). Usa varios scopes si necesitas diferentes niveles de acceso.
+ * **Token URL**: Tu endpoint de intercambio de tokens de OAuth.
+ * **Info API URL** (opcional): Endpoint para obtener la información del usuario para la personalización. Si se omite, el flujo de OAuth solo se usará para verificar la identidad y la información del usuario estará vacía.
+ * **Logout URL**: La URL nativa de cierre de sesión de tu proveedor de OAuth. Si tu proveedor tiene un parámetro `returnTo` o similar, redirígelo de vuelta a la URL de tu documentación.
+
+ 4. Selecciona **Save changes**.
+
+
+
+ 1. Copia la **Redirect URL** desde tu [configuración de autenticación](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Agrega la URL de redirección como una URL de redirección autorizada en tu servidor OAuth.
+
+
+
+ Para habilitar funciones de personalización, crea un endpoint de API que:
+
+ * Acepte tokens de acceso de OAuth para la autenticación.
+ * Devuelva datos de usuario en el formato `User`. Consulta [User data format](/es/authentication-personalization/personalization-setup#user-data-format) para obtener más información.
+
+ Agrega la URL de este endpoint al campo **Info API URL** en tu [configuración de autenticación](https://dashboard.mintlify.com/settings/deployment/authentication).
+
+
+
+ ### Ejemplo
+
+ Tu documentación está alojada en `foo.com/docs` y tienes un servidor OAuth existente en `auth.foo.com` que admite el Authorization Code Flow.
+
+ **Configura los detalles de tu servidor OAuth** en tu panel:
+
+ * **Authorization URL**: `https://auth.foo.com/authorization`
+ * **Client ID**: `ydybo4SD8PR73vzWWd6S0ObH`
+ * **Scopes**: `['provider.users.docs']`
+ * **Token URL**: `https://auth.foo.com/exchange`
+ * **Info API URL**: `https://api.foo.com/docs/user-info`
+ * **Logout URL**: `https://auth.foo.com/logout?returnTo=https%3A%2F%2Ffoo.com%2Fdocs`
+
+ **Crea un endpoint de información de usuario** en `api.foo.com/docs/user-info`, que requiere un token de acceso de OAuth con el scope `provider.users.docs`, y devuelve:
+
+ ```json
+ {
+ "content": {
+ "firstName": "Jane",
+ "lastName": "Doe"
+ },
+ "groups": ["engineering", "admin"]
+ }
+ ```
+
+ **Configura tu servidor OAuth para permitir redirecciones** a tu URL de retorno.
+
+
+
+ ### Requisitos previos
+
+ * Un sistema de autenticación que pueda generar y firmar JWT.
+ * Un servicio de backend que pueda crear URL de redirección.
+
+ ### Implementación
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Full Authentication** o **Partial Authentication**.
+ 3. Selecciona **JWT**.
+ 4. Ingresa la URL de tu flujo de inicio de sesión existente y selecciona **Save changes**.
+ 5. Selecciona **Generate new key**.
+ 6. Almacena tu clave de forma segura donde tu backend pueda acceder a ella.
+
+
+
+ Modifica tu flujo de inicio de sesión existente para incluir estos pasos después de autenticar al usuario:
+
+ * Crea un JWT que contenga la información del usuario autenticado en el formato `User`. Consulta [User data format](/es/authentication-personalization/personalization-setup#user-data-format) para más información.
+ * Firma el JWT con tu clave secreta usando el algoritmo EdDSA.
+ * Crea una URL de redirección de vuelta a la ruta `/login/jwt-callback` de tu documentación, incluyendo el JWT como hash.
+
+
+
+ ### Ejemplo
+
+ Tu documentación está alojada en `docs.foo.com` con un sistema de autenticación existente en `foo.com`. Quieres ampliar tu flujo de inicio de sesión para otorgar acceso a la documentación manteniéndola separada de tu panel (o no tienes un panel).
+
+ Crea un endpoint de inicio de sesión en `https://foo.com/docs-login` que amplíe tu autenticación existente.
+
+ Después de verificar las credenciales del usuario:
+
+ * Genera un JWT con los datos del usuario en el formato de Mintlify.
+ * Firma el JWT y redirige a `https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}`.
+
+
+ ```ts TypeScript
+ import * as jose from 'jose';
+ import { Request, Response } from 'express';
+
+ const TWO_WEEKS_IN_MS = 1000 * 60 * 60 * 24 * 7 * 2;
+
+ const signingKey = await jose.importPKCS8(process.env.MINTLIFY_PRIVATE_KEY, 'EdDSA');
+
+ export async function handleRequest(req: Request, res: Response) {
+ const user = {
+ expiresAt: Math.floor((Date.now() + TWO_WEEKS_IN_MS) / 1000), // vencimiento de sesión de 2 semanas
+ groups: res.locals.user.groups,
+ content: {
+ firstName: res.locals.user.firstName,
+ lastName: res.locals.user.lastName,
+ },
+ };
+
+ const jwt = await new jose.SignJWT(user)
+ .setProtectedHeader({ alg: 'EdDSA' })
+ .setExpirationTime('10 s') // vencimiento del JWT de 10 segundos
+ .sign(signingKey);
+
+ return res.redirect(`https://docs.foo.com/login/jwt-callback#${jwt}`);
+ }
+ ```
+
+ ```python Python
+ import jwt # pyjwt
+ import os
+
+ from datetime import datetime, timedelta
+ from fastapi.responses import RedirectResponse
+
+ private_key = os.getenv(MINTLIFY_JWT_PEM_SECRET_NAME, '')
+
+ @router.get('/auth')
+ async def return_mintlify_auth_status(current_user):
+ jwt_token = jwt.encode(
+ payload={
+ 'exp': int((datetime.now() + timedelta(seconds=10)).timestamp()), # vencimiento del JWT de 10 segundos
+ 'expiresAt': int((datetime.now() + timedelta(weeks=2)).timestamp()), # vencimiento de sesión de 1 semana
+ 'groups': ['admin'] if current_user.is_admin else [],
+ 'content': {
+ 'firstName': current_user.first_name,
+ 'lastName': current_user.last_name,
+ },
+ },
+ key=private_key,
+ algorithm='EdDSA'
+ )
+
+ return RedirectResponse(url=f'https://docs.foo.com/login/jwt-callback#{jwt_token}', status_code=302)
+ ```
+
+
+ ### Redirección de usuarios no autenticados
+
+ Cuando un usuario no autenticado intenta acceder a una página protegida, su destino previsto se conserva en la redirección a tu URL de inicio de sesión:
+
+ 1. El usuario intenta visitar una página protegida: `https://docs.foo.com/quickstart`.
+ 2. Redirige a tu URL de inicio de sesión con un parámetro de consulta redirect: `https://foo.com/docs-login?redirect=%2Fquickstart`.
+ 3. Después de la autenticación, redirige a `https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}`.
+ 4. El usuario llega a su destino original.
+
+
+
+
+ ## Hacer que las páginas sean públicas
+
+
+Al usar la autenticación parcial, todas las páginas están protegidas de forma predeterminada. Puedes hacer que páginas específicas sean visibles sin autenticación, a nivel de página o de grupo, con la propiedad `public`.
+
+
+ ### Nivel de página
+
+
+Para hacer pública una página, agrega `public: true` al frontmatter de la página.
+
+```mdx Ejemplo de página pública
+---
+title: "Página pública"
+public: true
+---
+```
+
+
+ ### Nivel de grupo
+
+
+Para que todas las páginas de un grupo sean públicas, agrega `"public": true` debajo del nombre del grupo en el objeto `navigation` de tu `docs.json`.
+
+```json Ejemplo de grupo público
+{
+ "navigation": {
+ "groups": [
+ {
+ "group": "Grupo público",
+ "public": true,
+ "icon": "play",
+ "pages": [
+ "quickstart",
+ "installation",
+ "settings"
+ ]
+ },
+ {
+ "group": "Grupo privado",
+ "icon": "pause",
+ "pages": [
+ "informacion-privada",
+ "ajustes-secretos"
+ ]
+ }
+ ]
+ }
+}
+```
diff --git a/es/authentication-personalization/overview.mdx b/es/authentication-personalization/overview.mdx
new file mode 100644
index 000000000..977cb5638
--- /dev/null
+++ b/es/authentication-personalization/overview.mdx
@@ -0,0 +1,74 @@
+---
+title: "Descripción general"
+description: "Controla quién ve tu documentación y personaliza su experiencia"
+icon: "badge-info"
+keywords: ["auth"]
+---
+
+
+ Los [planes Pro](https://mintlify.com/pricing?ref=authentication) incluyen autenticación por contraseña.
+
+ Los [planes Enterprise](https://mintlify.com/pricing?ref=authentication) incluyen todos los métodos de autenticación.
+
+
+Elige entre tres enfoques para gestionar el acceso y personalizar tu documentación según la información del usuario y tus necesidades de seguridad:
+
+* **Autenticación completa**: Protección total de la privacidad para todo el contenido con personalización completa.
+* **Autenticación parcial**: Control de acceso página por página con personalización completa.
+* **Personalización**: Personalización del contenido **sin garantías de seguridad**. Todo el contenido permanece públicamente accesible.
+
+
+ ### Ejemplos de uso
+
+
+**Elige autenticación completa cuando:**
+
+* Estés creando documentación interna de la empresa que contenga información sensible
+* Documentes APIs propietarias que requieran verificación de usuario
+* Crees guías de implementación específicas para clientes
+
+**Elige autenticación parcial cuando:**
+
+* Ofrezcas guías públicas de inicio con funciones avanzadas privadas
+* Administres un producto freemium donde los usuarios premium obtengan documentación adicional
+* Publiques documentación de código abierto con secciones empresariales privadas
+
+**Elige personalización cuando:**
+
+* Crees documentación pública de API que muestre ejemplos específicos del usuario
+* Construyas sitios de marketing que personalicen el contenido según los perfiles de usuario
+* Ofrezcas tutoriales públicos que se adapten a las preferencias o niveles de habilidad del usuario
+
+
+ ## Métodos de autenticación
+
+
+Elige el método que mejor se adapte a tu infraestructura y a tus requisitos de seguridad.
+
+| Método | Disponible para | Complejidad de configuración | Ideal para |
+|:-------|:----------------|:-----------------------------|:-----------|
+| **JWT** | Todos los enfoques | Media | Flujos de inicio de sesión personalizados, máximo control de seguridad |
+| **OAuth 2.0** | Todos los enfoques | Alta | Proveedores de autenticación de terceros, seguridad de nivel empresarial |
+| **Mintlify Dashboard** | Solo autenticación | Baja | Equipos que ya usan el panel de Mintlify |
+| **Password** | Solo autenticación | Baja | Acceso compartido simple sin personalización |
+| **Shared Session** | Solo personalización | Baja | Apps con autenticación basada en sesiones existente |
+
+
+ ### Cuándo usar cada método
+
+
+**JWT**: Úsalo cuando ya tengas un sistema de autenticación y quieras control total del flujo de inicio de sesión. Ideal para la gestión de usuarios personalizada o cuando necesites desacoplar el acceso a la documentación de tu aplicación principal.
+
+**OAuth 2.0**: Úsalo cuando quieras aprovechar proveedores de autenticación de terceros (Google, GitHub, etc.) o necesites estándares de seguridad de nivel empresarial. Ideal para organizaciones que ya usan infraestructura OAuth.
+
+**Mintlify Dashboard**: Úsalo cuando tus editores de documentación también sean los lectores. Perfecto para equipos internos que ya gestionan el contenido desde el panel de Mintlify.
+
+**Password**: Úsalo para un control de acceso sencillo cuando no necesites rastrear usuarios individuales ni personalizar contenido. Útil para contratistas, usuarios beta o accesos temporales.
+
+**Shared Session**: Úsalo cuando quieras un inicio de sesión transparente entre tu aplicación y la documentación. Ideal cuando los usuarios ya están autenticados en tu aplicación principal y quieres personalizar su experiencia en la documentación.
+
+
+ ## Personalización de contenido
+
+
+Los tres enfoques admiten funciones de personalización, como contenido MDX dinámico, prellenado de claves de API y controles de visibilidad de páginas. Para obtener pautas de implementación detalladas, consulta la [Configuración de personalización](/es/authentication-personalization/personalization-setup).
diff --git a/es/authentication-personalization/personalization-setup.mdx b/es/authentication-personalization/personalization-setup.mdx
new file mode 100644
index 000000000..a6dbe0ee1
--- /dev/null
+++ b/es/authentication-personalization/personalization-setup.mdx
@@ -0,0 +1,392 @@
+---
+title: "Configuración de Personalización"
+description: "Permite que los usuarios inicien sesión para obtener experiencias de documentación personalizadas"
+icon: "user-cog"
+---
+
+La Personalización adapta tu documentación a cada usuario cuando ha iniciado sesión. Por ejemplo, puedes completar previamente sus claves de API, mostrar contenido específico según su plan o rol, u ocultar secciones a las que no necesitan acceder.
+
+
+
+
+ ## Funciones de personalización
+
+
+Personaliza el contenido con estas capacidades de personalización.
+
+
+ ### Autorrelleno de clave de API
+
+
+Completa automáticamente los campos del Área de pruebas de API con valores específicos del usuario devolviendo nombres de campo que coincidan en tus datos de usuario. Los nombres de los campos en tus datos de usuario deben coincidir exactamente con los nombres del Área de pruebas de API para que el autorrelleno funcione.
+
+
+ ### Contenido MDX dinámico
+
+
+Muestra contenido dinámico según información del usuario como el nombre, el plan u organización usando la variable `user`.
+
+```jsx
+¡Bienvenido/a de nuevo, {user.firstName}! Tu plan {user.org?.plan} incluye...
+```
+
+Consulta la sección [Formato de datos de usuario](#user-data-format) más abajo para ver ejemplos detallados y orientación de implementación.
+
+
+ ### Visibilidad de la página
+
+
+Restringe qué páginas son visibles para tus usuarios añadiendo campos `groups` al frontmatter de tus páginas. De forma predeterminada, cada página es visible para todos los usuarios.
+
+Los usuarios solo verán las páginas de los `groups` a los que pertenezcan.
+
+```mdx
+---
+title: "Gestión de tus usuarios"
+description: "Añadir y eliminar usuarios de tu organización"
+groups: ["admin"]
+---
+```
+
+
+
+ ## Formato de datos del usuario
+
+
+Al implementar la personalización, tu sistema devuelve los datos del usuario en un formato específico que permite personalizar el contenido. Estos datos pueden enviarse como un objeto JSON sin procesar o dentro de un JWT firmado, según tu método de intercambio. La estructura de los datos es la misma en ambos casos.
+
+```tsx
+type User = {
+ expiresAt?: number;
+ groups?: string[];
+ content?: Record;
+ apiPlaygroundInputs?: {
+ header?: Record;
+ query?: Record;
+ cookie?: Record;
+ server?: Record;
+ };
+};
+```
+
+
+ Tiempo de expiración de la sesión en **segundos desde el epoch**. Si el usuario carga una página después de este tiempo, sus datos almacenados se eliminan automáticamente y debe volver a autenticarse.
+ Para intercambios con JWT: Esto difiere del claim `exp` del JWT, que determina cuándo un JWT se considera inválido. Por seguridad, establece el claim `exp` del JWT en una duración corta (10 segundos o menos). Usa `expiresAt` para la duración real de la sesión (de horas a semanas).
+
+
+
+ Lista de grupos a los que pertenece el usuario. Las páginas con `groups` coincidentes en su frontmatter son visibles para este usuario.
+
+ **Ejemplo**: Un usuario con `groups: ["admin", "engineering"]` puede acceder a páginas etiquetadas con los grupos `admin` o `engineering`.
+
+
+
+ Datos personalizados accesibles en tu contenido `MDX` mediante la variable `user`. Úsalo para la personalización dinámica en toda tu documentación.
+
+ **Ejemplo básico**:
+
+ ```json
+ { "firstName": "Ronan", "company": "Acme Corp", "plan": "Enterprise" }
+ ```
+
+ **Uso en `MDX`**:
+
+ ```mdx
+ Welcome back, {user.firstName}! Your {user.plan} plan includes...
+ ```
+
+ Con los datos de `user` del ejemplo, se renderizaría como: Welcome back, Ronan! Your Enterprise plan includes...
+
+ **Renderizado condicional avanzado**:
+
+ ```jsx
+ Authentication is an enterprise feature. {
+ user.org === undefined
+ ? <>To access this feature, first create an account at the Mintlify dashboard.>
+ : user.org.plan !== 'enterprise'
+ ? <>You are currently on the ${user.org.plan ?? 'free'} plan. See our pricing page for information about upgrading.>
+ : <>To request this feature for your enterprise org, contact your admin.>
+ }
+ ```
+
+
+ La información en `user` solo está disponible para usuarios autenticados. Para los usuarios que no han iniciado sesión, el valor de `user` será `{}`. Para evitar que la página falle con usuarios no autenticados, usa siempre encadenamiento opcional en los campos de `user`. Por ejemplo, `{user.org?.plan}`.
+
+
+
+
+ Valores específicos del usuario que precargan los campos del Área de pruebas de API. Ahorra tiempo a los usuarios al autocompletar sus datos cuando prueban APIs.
+
+ **Ejemplo**:
+
+ ```json
+ {
+ "header": { "X-API-Key": "user_api_key_123" },
+ "server": { "subdomain": "foo" },
+ "query": { "org_id": "12345" }
+ }
+ ```
+
+ Si un usuario hace solicitudes en un subdominio específico, puedes enviar `{ server: { subdomain: 'foo' } }` como un campo `apiPlaygroundInputs`. Este valor se precargará en cualquier página de API con el valor `subdomain`.
+
+ Los campos `header`, `query` y `cookie` solo se precargarán si forman parte de tu [esquema de seguridad de OpenAPI](https://swagger.io/docs/specification/authentication/). Si un campo está en las secciones `Authorization` o `Server`, se precargará. Crear un parámetro de encabezado estándar llamado `Authorization` no habilitará esta función.
+
+
+
+
+Selecciona el método de handshake que deseas configurar.
+
+
+
+
+
+ ### Requisitos previos
+
+ * Un sistema de autenticación que pueda generar y firmar JWT
+ * Un servicio de backend que pueda crear URL de redirección
+
+ ### Implementación
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Personalization**.
+ 3. Selecciona **JWT**.
+ 4. Introduce la URL de tu flujo de inicio de sesión existente y selecciona **Save changes**.
+ 5. Selecciona **Generate new key**.
+ 6. Almacena tu clave de forma segura en un lugar al que tu backend pueda acceder.
+
+
+
+ Modifica tu flujo de inicio de sesión existente para incluir estos pasos después de que el usuario inicie sesión:
+
+ * Crea un JWT que contenga la información del usuario autenticado en el formato `User`. Consulta la sección [User data format](#user-data-format) más arriba para obtener más información.
+ * Firma el JWT con la clave secreta usando el algoritmo ES256.
+ * Crea una URL de redirección de regreso a tu documentación, incluyendo el JWT como hash.
+
+
+
+ ### Ejemplo
+
+ Tu documentación está alojada en `docs.foo.com`. Quieres que tu documentación esté separada de tu panel (o no tienes un panel) y habilitar la personalización.
+
+ Genera un secreto de JWT. Luego crea un endpoint de inicio de sesión en `https://foo.com/docs-login` que inicie un flujo de inicio de sesión hacia tu documentación.
+
+ Después de verificar las credenciales del usuario:
+
+ * Genera un JWT con los datos del usuario en el formato de Mintlify.
+ * Firma el JWT y redirige a `https://docs.foo.com#{SIGNED_JWT}`.
+
+ ```ts
+ import * as jose from 'jose';
+ import { Request, Response } from 'express';
+
+ const TWO_WEEKS_IN_MS = 1000 * 60 * 60 * 24 * 7 * 2;
+
+ const signingKey = await jose.importPKCS8(process.env.MINTLIFY_PRIVATE_KEY, 'ES256');
+
+ export async function handleRequest(req: Request, res: Response) {
+ const user = {
+ expiresAt: Math.floor((Date.now() + TWO_WEEKS_IN_MS) / 1000),
+ groups: res.locals.user.groups,
+ content: {
+ firstName: res.locals.user.firstName,
+ lastName: res.locals.user.lastName,
+ },
+ };
+
+ const jwt = await new jose.SignJWT(user)
+ .setProtectedHeader({ alg: 'ES256' })
+ .setExpirationTime('10 s')
+ .sign(signingKey);
+
+ return res.redirect(`https://docs.foo.com#${jwt}`);
+ }
+ ```
+
+ ### Conservar anclas de página
+
+ Para redirigir a los usuarios a secciones específicas después de iniciar sesión, usa este formato de URL: `https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}`.
+
+ **Ejemplo**:
+
+ * URL original: `https://docs.foo.com/quickstart#step-one`
+ * URL de redirección: `https://docs.foo.com/quickstart#jwt={SIGNED_JWT}&anchor=step-one`
+
+
+
+ ### Requisitos previos
+
+ * Un servidor OAuth que sea compatible con el flujo de código de autorización con PKCE
+ * Capacidad para crear un endpoint de API accesible mediante tokens de acceso de OAuth
+
+ ### Implementación
+
+
+
+ Crea un endpoint de API que:
+
+ * Acepte tokens de acceso de OAuth para la autenticación.
+ * Devuelva datos de usuario en el formato `User`. Consulta la sección [User data format](#user-data-format) más arriba para obtener más información.
+ * Defina los scopes (alcances) de acceso.
+
+
+
+ 1. En tu panel, ve a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Selecciona **Personalization**.
+ 3. Selecciona **OAuth** y configura estos campos:
+
+ * **Authorization URL**: Tu endpoint de autorización de OAuth.
+ * **Client ID**: Tu identificador de cliente de OAuth 2.0.
+ * **Scopes**: Permisos a solicitar. Copia la cadena de scope **completa** (por ejemplo, para un scope como `provider.users.docs`, copia el `provider.users.docs` completo). Debe coincidir con los scopes del endpoint que configuraste en el primer paso.
+ * **Token URL**: Tu endpoint de intercambio de tokens de OAuth.
+ * **Info API URL**: Endpoint para recuperar datos de usuario para la personalización. Creado en el primer paso.
+
+ 4. Selecciona **Save changes**
+
+
+
+ 1. Copia la **Redirect URL** desde tu [authentication settings](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Agrega esta URL como una URL de redirección autorizada en la configuración de tu servidor OAuth.
+
+
+
+ ### Ejemplo
+
+ Tu documentación está alojada en `foo.com/docs` y tienes un servidor OAuth existente que admite el flujo PKCE. Quieres personalizar tu documentación en función de los datos del usuario.
+
+ **Crea un endpoint de información de usuario** en `api.foo.com/docs/user-info`, que requiere un token de acceso de OAuth con el scope `provider.users.docs` y responde con los datos personalizados del usuario:
+
+ ```json
+ {
+ "content": {
+ "firstName": "Jane",
+ "lastName": "Doe"
+ },
+ "groups": ["ingeniería", "administración"]
+ }
+ ```
+
+ **Configura los detalles de tu servidor OAuth** en tu panel:
+
+ * **URL de autorización**: `https://auth.foo.com/authorization`
+ * **ID de cliente**: `ydybo4SD8PR73vzWWd6S0ObH`
+ * **Ámbitos (scopes)**: `['docs-user-info']`
+ * **URL de token**: `https://auth.foo.com/exchange`
+ * **URL de la API de información**: `https://api.foo.com/docs/user-info`
+
+ **Configura tu servidor OAuth** para permitir redirecciones a tu URL de retorno (callback).
+
+
+
+ ### Requisitos previos
+
+ * Un panel o portal de usuario con autenticación de sesión basada en cookies.
+ * Capacidad para crear un endpoint de API en el mismo origen o subdominio que su panel.
+ * Si su panel está en `foo.com`, la **URL de la API** debe comenzar con `foo.com` o `*.foo.com`.
+ * Si su panel está en `dash.foo.com`, la **URL de la API** debe comenzar con `dash.foo.com` o `*.dash.foo.com`.
+ * Su documentación está alojada en el mismo dominio o subdominio que su panel.
+ * Si su panel está en `foo.com`, su **documentación** debe estar alojada en `foo.com` o `*.foo.com`.
+ * Si su panel está en `*.foo.com`, su **documentación** debe estar alojada en `foo.com` o `*.foo.com`.
+
+ ### Implementación
+
+
+
+ Cree un endpoint de API que:
+
+ * Use su autenticación de sesión existente para identificar a los usuarios
+ * Devuelva los datos del usuario en el formato `User` (consulte la sección [User data format](#user-data-format) arriba)
+ * Si el dominio de la API y el dominio de la documentación **no coinciden exactamente**:
+
+ * Agregue el dominio de la documentación al encabezado `Access-Control-Allow-Origin` de su API (no debe ser `*`).
+ * Establezca el encabezado `Access-Control-Allow-Credentials` de su API en `true`.
+
+
+ Habilite los encabezados CORS solo en este endpoint específico, no en toda la API de su panel.
+
+
+
+
+ 1. En su panel, vaya a [Authentication](https://dashboard.mintlify.com/settings/deployment/authentication).
+ 2. Seleccione **Personalization**.
+ 3. Seleccione **Shared Session**.
+ 4. Ingrese su **Info API URL**, que es el endpoint del primer paso.
+ 5. Ingrese su **Login URL**, donde los usuarios inician sesión en su panel.
+ 6. Seleccione **Save changes**.
+
+
+
+ ### Ejemplos
+
+ #### Panel en subdominio, documentación en subdominio
+
+ Tiene un panel en `dash.foo.com`, que usa autenticación de sesión basada en cookies. Las rutas de la API de su panel están alojadas en `dash.foo.com/api`. Desea configurar la personalización para su documentación alojada en `docs.foo.com`.
+
+ **Proceso de configuración**:
+
+ 1. **Cree el endpoint** `dash.foo.com/api/docs/user-info` que identifique a los usuarios mediante la autenticación de sesión y responda con sus datos de usuario.
+ 2. **Agregue encabezados CORS** solo para esta ruta:
+ * `Access-Control-Allow-Origin`: `https://docs.foo.com`
+ * `Access-Control-Allow-Credentials`: `true`
+ 3. **Configure la URL de la API** en la configuración de autenticación: `https://dash.foo.com/api/docs/user-info`.
+
+ #### Panel en subdominio, documentación en raíz
+
+ Tiene un panel en `dash.foo.com`, que usa autenticación de sesión basada en cookies. Las rutas de la API de su panel están alojadas en `dash.foo.com/api`. Desea configurar la personalización para su documentación alojada en `foo.com/docs`.
+
+ **Proceso de configuración**:
+
+ 1. **Cree el endpoint** `dash.foo.com/api/docs/user-info` que identifique a los usuarios mediante la autenticación de sesión y responda con sus datos de usuario.
+ 2. **Agregue encabezados CORS** solo para esta ruta:
+ * `Access-Control-Allow-Origin`: `https://foo.com`
+ * `Access-Control-Allow-Credentials`: `true`
+ 3. **Configure la URL de la API** en la configuración de autenticación: `https://dash.foo.com/api/docs/user-info`.
+
+ #### Panel en raíz, documentación en raíz
+
+ Tiene un panel en `foo.com/dashboard`, que usa autenticación de sesión basada en cookies. Las rutas de la API de su panel están alojadas en `foo.com/api`. Desea configurar la personalización para su documentación alojada en `foo.com/docs`.
+
+ **Proceso de configuración**:
+
+ 1. **Cree el endpoint** `foo.com/api/docs/user-info` que identifique a los usuarios mediante la autenticación de sesión y responda con sus datos de usuario.
+ 2. **Configure la URL de la API** en la configuración de autenticación: `https://foo.com/api/docs/user-info`
+
+
+ No se necesita configuración de CORS, ya que el panel y la documentación comparten el mismo dominio.
+
+
+
+
+
diff --git a/es/changelog.mdx b/es/changelog.mdx
new file mode 100644
index 000000000..313c125cc
--- /dev/null
+++ b/es/changelog.mdx
@@ -0,0 +1,777 @@
+---
+title: "Actualizaciones de producto"
+description: "Nuevos lanzamientos y mejoras"
+rss: true
+noindex: true
+---
+
+
+ ## Mejoras en la integración con GitLab
+
+ * Se mejoró la interfaz de conexión a GitLab en la configuración del panel para facilitar la gestión de repositorios
+ * Se añadió compatibilidad con webhooks para actualizar automáticamente la documentación al hacer commits en GitLab
+
+ ## Mejoras en el Editor web y la autenticación
+
+ * Avances en la migración del app router para el Editor web, eliminando bloqueos y mejorando el rendimiento
+ * Mejor manejo de errores de inicio de sesión con mensajes explícitos de validación de correo electrónico
+ * Corrección del manejo de espacios en blanco en la validación de direcciones de correo
+
+ ## Correcciones de errores y confiabilidad
+
+ * Se corrigió la actualización de sockets del app router para funciones en tiempo real
+ * Se corrigieron problemas de renderizado de rutas SVG en la documentación
+ * Se corrigió la navegación por teclado en la búsqueda y el chat
+ * Se mejoró la confiabilidad del endpoint de estado del historial
+ * Se resolvieron casos límite de middleware y problemas con el manejo del evento onClick
+
+
+
+ ## Lanzamientos importantes
+
+ * **Mejora importante**: sugerencias de páginas por IA en páginas 404, [cuando alguien llega a un enlace roto → el agente de IA lee la ruta → sugiere páginas semánticamente similares](https://x.com/mintlify/status/1966625627773059495)
+ * **Lanzamiento importante**: la búsqueda web del Asistente ahora puede incluir fuentes externas\
+ *Nota: Contáctanos para habilitar esta función en tu sitio.*
+
+ ## Asistente y MCP
+
+ * Se corrigió un error por el cual al Asistente se le aplicaba rate limiting de forma incorrecta debido a que la ventana de tiempo no se deslizaba bien
+ * Se corrigió un error en las llamadas a herramientas del Asistente para manejar correctamente bloques `text` vacíos
+ * Se corrigió un error donde los nombres de servidor de MCP concatenados con llamadas a herramientas a veces excedían los 60 caracteres que imponen los clientes MCP
+ * Se corrigió un error donde el menú del Asistente tenía una altura varias veces mayor que el viewport y hacía scroll infinito
+ * Se corrigió un error donde los valores de gasto del Asistente podían mostrarse con más de dos decimales en el panel
+
+ ## Editor web y despliegues
+
+ * Mejora de seguridad en el editor: solo los usuarios con `write permissions` en el repositorio de Git conectado pueden realizar cambios
+ * Se corrigió un error donde los despliegues de vista previa no funcionaban para ramas con `=` en el nombre
+ * Se corrigió un error donde los nombres de ramas largos se desbordaban en los modales al crear despliegues de vista previa
+ * Mejora de usabilidad: el parámetro de consulta de correo electrónico rellenará previamente el campo en invitaciones de registro
+ * Se corrigió un error donde copiar una página desde el menú contextual no funcionaba en Safari
+
+ ## Área de pruebas de API y navegación
+
+ * Los múltiples códigos de respuesta del Área de pruebas de API ahora se muestran en un menú select con estilo controlado en lugar del select predeterminado del sistema al enfocarlo
+ * Ahora puedes usar el [campo `expanded` en los grupos de navegación de tu `docs.json` para que se abran por defecto](https://mintlify.com/docs/navigation#default-expanded-state)
+
+ ## SEO y UI
+
+ * Se corrigió un error por el cual los favicons no aparecían en los motores de búsqueda al servirlos desde la misma URL que el sitio de documentación de cada sitio
+ * Se corrigió un error donde los embeds de YouTube parpadeaban al cargar
+ * Se corrigió un error donde expandir el menú de feedback para incluir respuestas escritas causaba cambios de diseño en la tabla de contenidos
+ * Se corrigió un error donde el texto se superponía a la barra superior en el tema Maple al descartar la barra de notificación
+ * Se mejoraron los temas Maple y Willow añadiendo botones de iniciar/cerrar sesión en la barra lateral para facilitar el acceso
+
+ ## Analíticas y exportaciones
+
+ * Se corrigieron problemas de confiabilidad en la vista de analíticas del Asistente y en las exportaciones
+ * Las exportaciones de analíticas del Asistente ahora se ejecutan en segundo plano y se envían por correo electrónico para una experiencia más confiable
+
+
+
+ ## Lanzamiento principal: recopilación de feedback mejorada
+
+ * **Mejora importante**: Ahora los lectores pueden dar feedback más detallado después de seleccionar *pulgar arriba/abajo*, incluyendo opciones y comentarios escritos. También puedes recopilar feedback en bloques de código y ver todas las respuestas en las analíticas de tu panel.\
+ *Nota: Contáctanos para habilitar esta función en tu sitio.*
+
+ ## Mejoras de navegación y de usabilidad
+
+ * Mejora de usabilidad para ignorar las barras finales y dobles, para que no tengas que preocuparte por colocarlas exactamente bien en tu docs.json
+ * Ahora puedes agregar el atributo `noAnchor` a tus etiquetas HTML `h1-6` para evitar que tengan un enlace de ancla
+ * El tema Palm ahora tiene un selector de idioma flotante en la esquina inferior izquierda, similar al enfoque de Stripe
+ * Se agregó un nuevo campo a docs.json llamado [`drilldown`](https://mintlify.com/docs/navigation#enable-auto-navigation-for-groups) que te permite controlar si los usuarios son dirigidos o no a la primera página de un grupo de navegación cuando el grupo se expande
+ * Mejora de usabilidad para que las listas ordenadas anidadas alternen estilos de decimal/romano a alfabético
+
+ ## Correcciones de errores y confiabilidad
+
+ * Se corrigió un error por el que los enlaces de ancla de posición de desplazamiento no funcionaban correctamente cuando había componentes JS en una página
+ * Se corrigió un error por el que Google estaba indexando archivos `*.md` en bruto porque les faltaba el encabezado `x-robots-tag: noindex`
+ * Se corrigió un error con OAuth en documentos protegidos por el que no te redirigía a tu página inicial tras completar correctamente el flujo
+ * Se corrigió un error en las vistas previas de documentos protegidos por autenticación por el que no podías ver toda la barra de navegación
+ * Correcciones en cómo se manejan los SVG con nuestra nueva CDN de imágenes
+
+ ## Mejoras de componentes y estilos
+
+ * Se añadió un nuevo selector CSS para estilos personalizados en `SidebarNavGroupDivider`
+ * Nuevas pruebas de regresión para páginas de API definidas en MDX que tienen seguridad definida garantizarán un mayor grado de estabilidad
+
+ ## Mejoras de rendimiento
+
+ * Mejora de rendimiento al mover el CSS de KaTeX de cdnjs a nuestra propia CDN en CloudFront para reducir la latencia
+
+
+
+ ## Mejoras en el manejo de imágenes
+
+ * **Mejora importante**: Las imágenes ya no causan cambios de diseño por defecto, incluso cuando no se especifican los atributos de ancho y alto; el dimensionamiento automático evita saltos de contenido durante la carga de páginas
+ * Todos los archivos estáticos en tu repositorio (PDF, TXT, XML, etc.) ahora se suben y sirven automáticamente al desplegar, proporcionando cobertura completa de recursos
+
+ ## Mejoras del editor web y del despliegue
+
+ * Se corrigió el flujo de creación de ramas en el editor web para navegar correctamente a las nuevas ramas y permanecer en ellas
+ * Diálogo de resolución de conflictos de fusión mejorado con funcionalidad de escape adecuada; ya no se requieren recargas de página para descartarlos
+ * Flujo de actualización optimizado al invalidar la caché solo de las páginas modificadas durante actualizaciones parciales, reduciendo los tiempos de despliegue
+
+ ## Mejoras de autenticación y navegación
+
+ * Nuevo soporte para autenticación en subdirectorios personalizados; si sirves la documentación en `https://yourdomain.com/docs`, la autenticación ahora funciona sin problemas
+ * Se corrigió un error de visualización en la barra lateral que aparecía incorrectamente cuando solo se configuraba un enlace
+ * Renovación integral de la navegación móvil: botones centrados con margen/espaciado adecuados, mejor espaciado en menús desplegables, eliminación de divisores y márgenes innecesarios para secciones vacías, y corrección de problemas de huecos/relleno en el tema Maple
+
+ ## Correcciones de componentes y estilos
+
+ * Se resolvió el problema de conversión de etiquetas `` que las transformaba incorrectamente en componentes Heading y alteraba los estilos personalizados
+ * Se añadió un interruptor de configuración de un clic para el Asistente en el panel para una gestión más sencilla
+
+ ## Mejoras técnicas y confiabilidad
+
+ * Sistema de registro mejorado para flujos de actualización que permite una depuración y resolución de problemas más rápidas
+ * Se corrigió la limitación de tasa de GitHub para clientes con más de 10 especificaciones de OpenAPI/AsyncAPI pasando de la obtención de archivos individuales al clonado del repositorio
+ * Mayor confiabilidad del Asistente con soporte de LLM de respaldo, mejor manejo de errores por límite de tasa y una herramienta de búsqueda más robusta
+
+
+
+ ## Optimizaciones de rendimiento y compilación
+
+ * La transpilación de MDX ahora ocurre en el momento del despliegue en lugar de en cada carga de página en entornos serverless de Next.js sin caché, mejorando el time to first byte para páginas no cacheadas.
+ * El hashing basado en contenido evita la retranspilación cuando MDX no ha cambiado, reduciendo los tiempos del flujo de actualización en ~50% para clientes con muchas páginas (los despliegues de más de 5 minutos deberían reducirse aproximadamente a la mitad)
+ * Ver las vistas previas de despliegue en el panel ahora es más rápido gracias a índices de base de datos y paralelización de consultas en nuestro backend
+ * Se redujo el tamaño de página eliminando datos duplicados de `navigation` en la carga `rsc` de cada página; las mejoras de rendimiento son más notorias con muchos documentos o estructuras de navegación complejas
+ * Un prefetching más agresivo habilita cargas instantáneas de página con mayor frecuencia
+
+ ## Mejoras del área de pruebas de API y OpenAPI
+
+ * La conversión de OpenAPI a MCP se movió al backend, lo que permite que los servidores MCP alojados incluyan herramientas (pronto habrá documentación y opciones de configuración más claras)
+ * Se añadió compatibilidad con Ruby en el área de pruebas de API
+ * Agregamos una función para que ahora puedas [especificar páginas de API usando solo tu docs.json](/es/api-playground/openapi-setup#auto-populate-api-pages) sin crear nuevos archivos MDX.
+ * Compatibilidad con páginas de [`webhook`](/es/api-playground/openapi-setup#webhooks) en la navegación de la documentación a partir de especificaciones OpenAPI
+ * Contexto del modelo de IA optimizado al eliminar especificaciones de enlaces de ancla de los enlaces de Markdown al navegar a Anthropic, OpenAI u otros proveedores
+
+ ## Mejoras del editor web
+
+ * La creación y el cambio de nombre de archivos ahora guardan los cambios al hacer clic fuera, en lugar de requerir presionar Enter
+ * Se corrigió la navegación de ramas en la que cambiar la URL a una rama específica redirigía a la última rama activa en lugar del destino previsto
+ * Codificación adecuada en la URL de títulos de ramas que contienen `/` para evitar errores de navegación
+ * Se corrigió el atajo `Ctrl+K` para enlaces en el Editor del panel de monorepo, que estaba anteponiendo la ruta del repositorio de docs y creando enlaces rotos
+
+ ## Analítica e integraciones con LLM
+
+ * Compatibilidad con `llms.txt` y `llms-full.txt` personalizados: añádelos a la raíz del repositorio de docs para servirlos en los endpoints `/llms.txt` y `/llms-full.txt` para personalización de LLM
+ * Se añadió la [integración de analítica de Hightouch](/es/integrations/analytics/hightouch#hightouch)
+ * Seguimiento de analítica del menú contextual mejorado (visualización en el panel próximamente)
+ * Se agregaron pruebas de extremo a extremo para `llms.txt` y `llms-full.txt` para garantizar su correcta entrega
+
+ ## Mejoras de componentes y estilos
+
+ * Compatibilidad con nombres de clase personalizados en etiquetas `h{1-4}` para aplicar estilos de encabezado personalizados
+ * Se corrigió el renderizado de etiquetas `h{1-4}` como componentes `Heading` con chips en modo de página personalizada
+ * Se añadieron selectores CSS a las [breadcrumbs](/es/navigation#breadcrumbs) para objetivos de CSS personalizados
+ * Se corrigieron imágenes de open graph estiradas analizando dimensiones para mantener proporciones a 56 px de altura
+ * Se corrigió `VSCode` a `VS Code` en el menú contextual cuando está habilitado
+ * Se corrigió que los encabezados dentro de componentes personalizados aparecieran en la tabla de contenido junto con encabezados semánticos
+
+ ## Correcciones de errores y confiabilidad
+
+ * Se corrigieron problemas de renderizado de PDF con ciertos títulos de página sanitizando caracteres que causaban problemas de generación
+ * Se resolvió el error de la CLI `Cannot convert undefined or null to object` al encontrar archivos JSON de OpenAPI vacíos
+ * Se corrigió que las metatags de open graph personalizadas en `docs.json` fueran sobrescritas por las generadas
+ * Se corrigieron los clics del botón de RSS al aterrizar en enlaces de ancla usando origin + pathname para los enlaces de RSS
+ * Se mejoró la velocidad de descarga de la CLI al eliminar sourcemaps
+
+ ## Mejoras técnicas
+
+ * Se añadieron pruebas visuales al pipeline de CI para detección temprana de regresiones
+ * Capacidades mejoradas de manejo de errores y depuración
+ * Cobertura de pruebas integral para nuevas funciones y casos límite
+
+
+
+ ## Mejoras de autenticación
+
+ * Acceso público a nivel de grupo: haz públicos grupos completos de páginas mediante `docs.json` para no tener que usar `public: true` en cada página ([más información](https://mintlify.com/docs/authentication-personalization/authentication-setup#group-level))
+ * Compatibilidad con [`logoutURL` en la configuración de OAuth](https://mintlify.com/docs/authentication-personalization/authentication-setup#implementation-3) para eliminar cookies ascendentes y completar el cierre de sesión
+ * En errores de OAuth, los usuarios se redirigen a la `logoutURL` especificada para reiniciar el flujo de autenticación
+ * Corregido un parpadeo de error 500 durante los flujos de OAuth/JWT antes del callback
+ * Eliminación automática de `https://` de las URL en la configuración de autenticación OAuth/JWT para evitar errores de configuración
+
+ ## Mejoras del Área de pruebas de API
+
+ * Nuevo [endpoint de la Search API](https://mintlify.com/docs/api-reference/assistant/search) para que puedas crear agentes y servidores MCP sobre tu documentación
+ * Los archivos `openapi` y `asyncapi` ahora se sirven en sus rutas especificadas (por ejemplo, `https://mydocsurl.extension/{openapi-or-file-name}.json`)
+ * Ahora puedes usar el [campo `x-mint` en tus archivos OpenAPI](https://mintlify.com/docs/api-playground/openapi-setup#x-mint-extension) para anular campos generados, personalizar el contenido de introducción o cambiar las URL de endpoints en ejemplos de código
+ * [`x-mcp` ahora es `x-mint.mcp`](https://mintlify.com/docs/api-playground/openapi-setup#mcp) en configuraciones de OpenAPI para controlar qué rutas se exponen como herramientas MCP
+
+ ## Actualizaciones del Asistente
+
+ * Se corrigió un problema en el que el menú de acciones (con opciones como copiar y pulgar arriba) de mensajes antiguos desaparecía cuando llegaban nuevos mensajes en streaming
+ * Se corrigió la accesibilidad de páginas anidadas `/mcp/...` tras el [lanzamiento de servidores MCP alojados](https://mintlify.com/docs/ai/model-context-protocol#accessing-your-mcp-server) de la semana pasada
+
+ ## Rendimiento y confiabilidad
+
+ * Todos los recursos de imagen y video presentes en tu repo de docs ahora se sirven en la ruta adecuada en tu dominio. Por ejemplo, si tienes `/assets/marketing/my-logo.png` en tu repo, estará disponible en `https://mydocsurl.extension/assets/marketing/my-logo.png`.
+ * El campo de correo electrónico en el inicio de sesión del panel de Mintlify ahora enfoca automáticamente para que puedas empezar a escribir de inmediato *(mejora de calidad de vida)*
+ * Tanto dominios personalizados como subdominios en Redis para mejorar el rendimiento en los tiempos de carga de la navegación (~50 ms menos de latencia)
+ * Se agregó lógica de reintentos para exportaciones a PDF y mejorar la confiabilidad
+ * Se corrigió que el aviso de consentimiento de cookies reapareciera después de aceptar o descartar—ahora se respeta la primera selección
+ * Se corrigió copiar una página al portapapeles en Safari especificando un `type` MIME en `navigator.write`
+
+ ## Mejoras técnicas
+
+ * Correcciones de la CLI para Windows y pnpm, además de pruebas de CI para prevenir regresiones
+ * Salida de registro de errores mejorada—una mejora de calidad de vida para nuestro equipo de ingeniería al depurar
+ * Correcciones menores a la acción de CI de enlaces rotos cuando faltan archivos de `contentDirectory`
+ * Se corrigió una regresión causada por las correcciones de la vista previa protegida por autenticación de la semana pasada, donde la pestaña activa no se establecía correctamente en la UI de navegación
+ * Se corrigió que el color de fondo claro del tema no se aplicara a los íconos de la pestaña activa
+ * Se corrigió un problema en el que cambiar el tipo de autenticación en el panel se actualizaba y luego volvía al tipo guardado anteriormente—ahora la nueva selección persiste después de guardar
+ * Mejoras internas de DX para clientes empresariales con bibliotecas de UI personalizadas—ahora nos resulta más fácil incluir tus componentes y atender solicitudes en plazos más cortos
+
+
+
+ ## Mejoras de autenticación
+
+ * Mejoras en el desarrollo local de autenticación, lo que permite desarrollar más rápido funciones de autenticación y corregir errores en esta área del producto
+ * Implementaciones de vista previa ahora disponibles para sitios protegidos por autenticación
+ * Se corrigió el comportamiento de redirección para devolver correctamente a los usuarios a su página original después de autenticarse
+ * Se corrigió la visualización del botón de cerrar sesión para autenticación completa (antes solo funcionaba con autenticación parcial)
+
+ ## Mejoras del área de pruebas de API
+
+ * Se corrigió la carga de archivos `multipart/form-data` en el área de pruebas de API
+ * Se corrigió el comportamiento de los enlaces de anclaje para que, al hacer clic, actualicen la URL sin desplazarse a la parte superior de la página
+ * Se corrigieron problemas de enlaces de anclaje en pestañas anidadas
+
+ ## Actualizaciones del Asistente
+
+ * Nueva API del Asistente para integrarlo en tus propios productos, compatible con AI SDK
+ * Se agregó un botón de copiar a las respuestas del chat
+ * Se corrigió un problema al reintentar mensajes en el Asistente
+ * Mejoras en el prompt predeterminado del Asistente para que sea menos verboso por defecto
+
+ ## Rendimiento y confiabilidad
+
+ * La búsqueda se siente más ágil y precisa al abortar solicitudes con debounce mientras escribes
+ * Aprovisionamiento de recursos para una nueva CDN: se espera que pronto mejoren los tiempos de carga de imágenes y de páginas
+ * Se corrigieron errores al renderizar diagramas Mermaid complejos como gráficos de Gantt
+ * Se corrigieron errores de la CLI en Windows para mejorar la estabilidad y se agregaron pruebas para prevenir regresiones
+
+ ## Mejoras técnicas
+
+ * Se agregó OpenTelemetry para trazas en la aplicación Next.js, mejorando el tiempo hasta el primer byte para los clientes
+ * Migramos de Octokit a GitHub API Client para reducir la latencia en la experiencia del editor web
+ * Se corrigieron etiquetas meta duplicadas para Open Graph
+ * Se actualizó MongoDB de la versión 6 a la 7 para mejorar el rendimiento y añadir nuevas funciones
+
+
+
+ ## Aplicación de Slack
+
+ * Acceso sin fricción: el bot responde a DMs, @menciones y cualquier pregunta en tu canal `#ask-ai`
+ * Configuración con un clic: instálala directamente desde tu panel de Mintlify en segundos
+ * Respuestas contextuales: busca en toda tu documentación para ofrecer respuestas relevantes y precisas
+ * Reduce interrupciones de soporte: convierte preguntas diarias en respuestas instantáneas de autoservicio
+
+ Más información en nuestra [guía de la aplicación de Slack](/es/ai/slack-app).
+
+ ## Servidores MCP alojados
+
+ Implementa servidores alojados de Model Context Protocol (MCP) directamente a través de Mintlify para integrarte con herramientas de IA como Claude, Cursor y otras. Más información en nuestra [guía de MCP](/es/ai/model-context-protocol).
+
+ Ayuda a los usuarios a conectar rápidamente tu servidor MCP con Cursor o VS Code desde cualquier página de tu documentación mediante el menú contextual. Consulta [Menú contextual](/es/ai/contextual-menu) para más información.
+
+ ## Mejoras en bloques de código
+
+ * Mejor resaltado de sintaxis
+ * Se agregaron más opciones de personalización, incluyendo modo enfoque, bloques de código expandibles, adaptación a modo oscuro y claro, menú desplegable de lenguaje, numeración de líneas e iconos
+
+
+
+ ## Actualizaciones del asistente de IA
+
+ * Mayor precisión mediante RAG agentivo con llamadas a herramientas
+ * Proporciona enlaces navegables a las páginas de referencia para que los usuarios puedan ir directamente a la fuente de las respuestas
+ * Atajo para copiar ejemplos de código generados por el asistente
+ * Atajo "Ask AI" en los bloques de código de la documentación para generar explicaciones del Asistente
+
+ Más información en la [documentación del asistente](/es/guides/assistant).
+
+ ## Registros de cambios suscribibles
+
+ * Genera automáticamente un feed RSS a partir de las páginas del registro de cambios
+ * Integra actualizaciones habilitadas con RSS con Slack, correo electrónico y otras herramientas
+
+ Más información en nuestra nueva [guía de registro de cambios](/es/guides/changelogs)
+
+
+
+ ## Actualizaciones de estabilidad del área de pruebas de API
+
+ * Búsqueda para encontrar un endpoint
+ * Indica un endpoint obsoleto con una etiqueta
+ * Oculta páginas de API autogeneradas de la navegación
+ * Carga archivos multipart o de formulario
+
+ Más información en la [documentación del área de pruebas de API](/es/api-playground/)
+
+ ## `mint update`
+
+ Ahora puedes usar `mint update` para actualizar tu CLI.
+
+
+
+ ## Editor web 3.0
+
+
+ 
+
+
+ Se renovó por completo la usabilidad del editor WYSIWYG.
+
+ **Mejoras importantes**
+
+ * Busca nombres de archivos con el atajo ⌘ + P
+ * Las páginas cargan 10 veces más rápido
+ * Cargas más rápidas al buscar una rama
+ * Pestaña de opciones de página para configurar el diseño, el título y los metadatos para SEO
+ * Barra de herramientas flotante al resaltar texto
+
+ **Correcciones adicionales**
+
+ * Corregido el margen superior en los componentes del registro de cambios
+ * Mayor fiabilidad del clic derecho
+ * Tras publicar, permanecerás en la misma página en lugar de pasar a un estado vacío
+ * Colores estandarizados en los iconos de archivo
+ * Mayor fiabilidad tras seleccionar nuevas ramas varias veces seguidas
+ * Se eliminó el modo Diff
+ * Más consistencia al crear una carpeta nueva desde el menú desplegable
+ * Corregido: las citas en bloque creaban más citas en bloque al intentar deseleccionar
+
+ ## Traducciones con IA en beta
+
+
+ 
+
+
+ Traduce toda tu documentación con IA. [Más información.](es/navigation#localization)
+
+ ## Exportar docs a PDF en beta
+
+ Exporta toda tu documentación, un subdirectorio o una única página como PDF.
+
+ ## Compatibilidad con hooks de React
+
+ Añade interactividad a tu documentación. Todos los hooks estándar de React están disponibles automáticamente en tus archivos MDX. [Más información.](es/react-components)
+
+
+
+ ## Generador de servidores MCP
+
+
+ 
+
+
+ Genera servidores MCP para que las aplicaciones de IA puedan interactuar con tu documentación o APIs. El contenido escrito se genera automáticamente como un servidor MCP, y puedes generar un servidor MCP desde tu especificación OpenAPI con un solo clic.
+ Consulta la [documentación para comenzar con MCP.](/es/ai/model-context-protocol)
+
+ ## Mejoras
+
+ * Etiqueta las actualizaciones del registro de cambios para que los usuarios finales puedan filtrarlas
+ * Sonnet-3.7 compatible para el chat de IA. Configura tu modelo preferido desde el panel
+ * Cambia el nombre de tu implementación directamente en la configuración del panel
+
+ ## Correcciones de errores
+
+ * Imágenes OG corregidas
+ * Corregida la inconsistencia de estilo de iconos para anclas sin contenedor
+ * Ajustes de estilo mejorados en el borde del panel para la adaptabilidad móvil-tableta-escritorio
+ * Mostrar ejemplos de código incluso en modo simple en el área de pruebas de API
+ * Compatibilidad con el atajo "command + k" para buscar en el editor web
+ * Los bloques de código dentro de los avisos se expanden para ocupar todo el ancho del área del aviso
+
+
+
+ ## Nuevo esquema de configuración `docs.json`
+
+
+ 
+
+
+ Hemos introducido un nuevo esquema `docs.json` como reemplazo de `mint.json`, para admitir un mejor versionado multinivel, facilitar la comprensión visual y usar una terminología más consistente. Para ver qué cambió, [consulta nuestro blog](https://mintlify.com/blog/refactoring-mint-json-into-docs-json).
+
+ Actualiza de `mint.json` a `docs.json` con los siguientes pasos:
+
+ 1. Asegúrate de tener la última versión de la CLI
+
+ ```bash
+ npm i mint@latest -g
+ ```
+
+ 1. En tu repositorio de documentación, ejecuta
+
+ ```bash
+ mint upgrade
+ ```
+
+ 1. Elimina el archivo `mint.json` antiguo y sube tus cambios
+
+ ## Verificaciones de CI
+
+ Ejecuta lint automáticamente en tu documentación para encontrar enlaces rotos, detectar errores ortográficos y gramaticales, o aplicar estilos de escritura con tu propia configuración de Vale. Obtén más información en nuestra [documentación](es/settings/ci).
+
+ ## Compatibilidad .md para LLM
+
+ Todas las páginas de documentación ahora están disponibles automáticamente como archivos Markdown simples: solo añade `.md` a la URL. Esto facilita que los LLM incorporen páginas individuales de tu documentación.
+
+ ## Más temas
+
+
+ 
+
+
+ Nuevos [temas prediseñados](es/themes) para modificar el look & feel de tu documentación. Configúralos a través de tu [archivo docs.json](es/settings).
+
+ Ahora disponibles:
+
+ * Maple
+ * Palm
+ * Willow
+
+ ## Otras mejoras
+
+ * [Guía de redacción técnica:](https://mintlify.com/guides/introduction) Buenas prácticas para escribir documentación técnica, incluyendo investigación de audiencia, tipos de contenido y consejos de escritura.
+ * [Componente Dropdown](es/navigation#dropdowns): Organiza la navegación con un menú desplegable, además de pestañas y anclas.
+ * [Corrector de sintaxis con IA](https://x.com/ricardonunez_io/status/1892334887644123192): El Editor web detectará si hay un error de parseo y usará IA para sugerir correcciones.
+
+
+
+ ## Mejoras del Asistente de IA
+
+ * Nueva interfaz con página de chat dedicada y prompts precargados
+ * Mejoras de estabilidad. Por ejemplo, correcciones de errores al editar el archivo equivocado o ninguno
+ * Conocimiento más sólido para agregar y editar componentes
+ * Edición mejorada del archivo `docs.json`
+
+ ## Autenticación parcial
+
+ Personaliza el acceso a cualquier página o sección de contenido según los permisos del usuario. Permite conectarte con tu propio sistema de autenticación.
+
+ ## Área de pruebas de API renovada
+
+ Hemos rediseñado el [Área de pruebas de API](/es/api-playground/) y mejorado su rendimiento. Las actualizaciones incluyen:
+
+ * Expansión de detalles más fácil para obtener una vista general de un campo
+ * Diseño anidado más intuitivo. Por ejemplo, agregar o eliminar elementos
+ * Tiempos de respuesta más rápidos
+
+ ## Mejoras de calidad
+
+ * Posibilidad de requerir autenticación para acceder a despliegues de vista previa
+
+
+
+ ## Autenticación
+
+
+ 
+
+
+ Haz que la documentación sea privada configurando autenticación vía JWT, OAuth o una contraseña universal. Con esta privacidad, puedes crear una base de conocimiento interna o evitar que los competidores vean tu documentación.
+
+
+
+ ## Redactor con IA
+
+
+ 
+
+
+ Ahora puedes pedirle a la IA que haga cambios en tu documentación, con el contexto de toda la documentación existente. Escribe una indicación y el redactor propondrá cambios creando una pull request.
+
+ ## Mejora de la integración con GitLab
+
+ Hemos mejorado la compatibilidad de sincronización con GitLab, habilitando, por ejemplo, actualizaciones automatizadas y despliegues de vista previa. Consulta nuestra [documentación sobre GitLab](/es/settings/gitlab) para comenzar.
+
+ ## Editor web
+
+
+ 
+
+
+ Hemos renovado nuestro editor web para que ahora puedas actualizar la documentación con una experiencia WYSIWYG completa, mientras se sincroniza con Markdown.
+
+ Consulta nuestra [documentación para empezar con el Editor web](/es/editor).
+
+ ## Compatibilidad con /llms.txt
+
+
+ 
+
+
+ Todas las instancias de documentación ahora se alojan automáticamente en /llms.txt y /llms-full.txt para que los LLM puedan incorporar fácilmente tu documentación. Para obtener más información, lee la [documentación sobre el nuevo estándar llms.txt.](https://llmstxt.org)
+
+ ## Localización
+
+ Ahora puedes localizar tu documentación, de forma similar al versionado. Añade un `locale` a una versión y el contenido fijo de Mintlify, como “Was this page helpful?”, también coincidirá con ese locale.
+
+ ### Mejoras de calidad
+
+ * Devolver resultados de chat y búsqueda según la versión que el usuario esté leyendo
+ * Autenticar a los usuarios con OAuth, además de JWT o tokens de sesión compartida.
+
+
+
+ ## Registro de cambios
+
+ Lanzamos un nuevo [Componente de actualización](/es/components/update) para facilitar la visualización y comunicación de actualizaciones (como esta) a tus usuarios.
+
+
+ 
+
+
+ ## Resaltado de líneas de código
+
+ Ahora puedes resaltar líneas de código en tu documentación para enfatizar y llamar la atención sobre partes importantes agregando un comentario especial después del identificador del lenguaje. Usa llaves `{}` y especifica números de línea o rangos separados por comas.
+
+ ```javascript Line Highlighting Example {1,3-5}
+ const greeting = "Hello, World!";
+ function sayHello() {
+ console.log(greeting);
+ }
+ sayHello();
+ ```
+
+ ````mdx
+ ```javascript Line Highlighting Example {1,3-5}
+ const greeting = "Hello, World!";
+ function sayHello() {
+ console.log(greeting);
+ }
+ sayHello();
+ ```
+ ````
+
+ ## Bloques de código en modo claro
+
+ Los bloques de código ahora tienen una variante en modo claro que se puede habilitar agregando lo siguiente a tu `docs.json`:
+
+ ```json
+ "codeBlock": {
+ "mode": "auto"
+ }
+ ```
+
+ ## Pie de página avanzado
+
+
+ 
+
+
+ Ahora puedes agregar más enlaces al pie de página estándar. Esta mejora
+ ofrece más coherencia entre las landing pages y la documentación, o mayor personalización
+ si quieres destacar páginas específicas como redes sociales o páginas de estado.
+
+ ## Filtrar la búsqueda según el usuario actual
+
+ Cuando la Personalización está habilitada, los resultados de búsqueda ahora se filtran según el usuario que haya iniciado sesión, para que solo vea el contenido relevante.
+
+ ## Prompts personalizados para el chat de IA
+
+ Ahora puedes personalizar los prompts del chat de IA. Comunícate con [support](mailto:support@mintlify.com) si deseas personalizar los prompts.
+
+ ## Mejoras en el panel
+
+ * Se añadió la posibilidad de cambiar el dominio personalizado a /docs directamente desde la configuración del panel.
+ * Se unificaron las páginas de inicio de sesión y registro para reducir la fricción y la confusión.
+ * Se implementó el flujo de inicio de sesión con descubrimiento para que los usuarios que son miembros de varias organizaciones puedan cambiar entre ellas.
+ * Se añadió inicio de sesión con Google OAuth.
+ * Se añadió la posibilidad de agregar un nuevo deployment desde la configuración del panel.
+
+ ## Correcciones de errores
+
+ * Ya se pueden usar barras iniciales en la navegación.
+ * Ya se pueden editar archivos CSS y JS en el Editor web.
+ * Se corrigió que `suggestEdit` no apareciera incluso cuando estaba habilitado.
+ * Se corrigió la navegación por teclado para Búsqueda y Chat, de modo que ahora puedes usar las flechas arriba y abajo para desplazarte por los resultados.
+ * No permitir que los motores de búsqueda rastreen páginas protegidas por autenticación de usuario.
+ * Revalidar la caché cuando se elimina una organización.
+ * Ahora usamos el parser de OpenAPI de Scalar para analizar definiciones de OpenAPI, lo que mejora el rendimiento, corrige problemas de parsing y ofrece mejores mensajes de error.
+ * Ahora se admiten descripciones de nivel superior en las páginas de referencia de API generadas automáticamente a partir de definiciones de OpenAPI.
+ * Añadido soporte de estilo inline para iconos.
+ * Se corrigió el “pop-in” del CSS personalizado en la documentación.
+ * Mostrar correctamente el estilo de código en línea junto con enlaces.
+ * Mantener la posición de desplazamiento al hacer clic en el botón Atrás del navegador.
+
+
+
+ ## Fuentes personalizadas
+
+
+ 
+
+
+ Personaliza la tipografía de tu documentación usando tu propia fuente alojada en un CDN o eligiendo entre Google Fonts para alinear tu documentación con tu marca.
+
+ ## Imágenes en componentes Card
+
+ Agrega la propiedad `img` a una tarjeta para mostrar una imagen en la parte superior. Obtén más información [aquí](/es/components/cards#image-card).
+
+ ## Mejoras en la velocidad de actualización
+
+
+ 
+
+
+ Para proyectos grandes (~3,000 archivos), el paso de descarga de las actualizaciones de la documentación ahora es
+ ~440x más rápido: una reducción del 99.8% del tiempo. En general, las descargas de archivos durante
+ las actualizaciones ahora son ~5.5x más rápidas: una reducción del 81.8% del tiempo.
+
+ ## Mejoras de SEO
+
+
+ 
+
+
+ Hemos corregido el diseño móvil y de escritorio de nuestra documentación para que sea más compatible con SEO, incluido añadir etiquetas aria adecuadas a la barra de navegación y a los elementos de alternancia.
+
+ ## Mejoras en el panel
+
+ * Migración a App Router en el panel.
+ * Las analíticas de búsqueda ahora están disponibles en el panel.
+ * Se agregó la funcionalidad para eliminar una organización en el panel.
+ * Se lanzó la interfaz de conexión con GitLab.
+ * Corrección de datos de analíticas incorrectos.
+ * Los complementos ahora se pueden comprar directamente desde el panel.
+
+ ## Correcciones de errores
+
+ * Se corrigió un error donde la barra superior no se ajustaba al ancho de la pantalla cuando estaba en modo personalizado y el diseño de la barra lateral era `sidenav`.
+ * Se corrigió el posicionamiento relativo del widget de IA.
+
+ ## Más
+
+ * **Solución de problemas para páginas de API**: las páginas de API pueden ser complicadas, por lo que enumeramos
+ problemas comunes para ayudarte a resolverlos rápidamente —
+ [Lee la documentación](/es/api-playground/troubleshooting)
+
+
+
+ ## Páginas de referencia de OpenAPI
+
+ * Los endpoints definidos por OpenAPI que son complejos y recursivos ahora son un 98%
+ más pequeños.
+ * Ahora mostramos
+ [additionalProperties](https://swagger.io/docs/specification/data-models/dictionaries/)
+ en las páginas de OpenAPI.
+
+ ## Carga de archivos en el Área de pruebas de API
+
+ De forma predeterminada, las solicitudes del Área de pruebas de API se enrutan a través de Mintlify. Ahora puedes usar
+ `disableProxy` para desactivar este comportamiento y admitir tipos de solicitud como la
+ carga de archivos.
+
+ * [Más información sobre configuraciones de API](es/settings#api-configurations)
+
+ ## Mejoras de SEO en móviles
+
+ Hemos corregido el diseño móvil de nuestra documentación para que sea más compatible con SEO,
+ incluido añadir etiquetas aria adecuadas a los elementos.
+
+ ## Formulario de soporte
+
+ Agregamos un formulario de soporte más detallado al panel de Mintlify. Ahora puedes
+ enviar un formulario para ponerte en contacto con nosotros.
+
+ ## Correcciones de errores
+
+ * Se corrigió un error en la funcionalidad de la integración con Segment.
+ * Ahora mostramos mensajes de error más granulares para permisos de GitHub al
+ interactuar con el editor.
+ * Se corrigieron errores donde la navegación no se expandía correctamente cuando se usaba un enlace directo.
+
+
+
+ ## Widget de IA
+
+
+ 
+
+
+ Para usuarios `Pro`, presentamos Mintlify Widget, una extensión de tu documentación para
+ responder a las preguntas de tus usuarios cuando y donde las hagan. Puedes agregar este
+ chatbot con IA a cualquier página web: tu página de inicio, dentro de tu producto o
+ en tus páginas de documentación existentes.
+
+ * [Lee el anuncio en el blog](https://mintlify.com/blog/widget)
+
+ ## Plan Pro
+
+ También actualizamos nuestros planes de precios para una mejor personalización y escalabilidad.
+
+ * [Lee el anuncio en el blog](https://mintlify.com/blog/pro-plan)
+
+ ## Sincronización de ejemplos de código del Área de pruebas de API
+
+ Cuando navegas por la documentación de API, el ejemplo de código seleccionado ahora se sincroniza entre tus páginas.
+
+ ## Insights
+
+ Actualmente en beta, esta función resume preguntas y patrones comunes de los usuarios
+ en informes fáciles de digerir con sugerencias impulsadas por IA sobre cómo mejorar tu
+ producto.
+
+
+
+ ## Lo más destacado de la Launch Week
+
+ * Temas: personaliza el estilo con temas preconfigurados. Solo agrega el tema Quill, Prism o Venus a tu archivo `docs.json` y se actualizará el diseño de tu documentación.
+ * Search V2: consulta directamente las descripciones y los títulos de los endpoints de OpenAPI para ir a las páginas de Referencia de API, elimina las páginas ocultas de la búsqueda y disfruta de nuestra barra de búsqueda renovada.
+ * Ramificación en el Editor web: crea ramas en nuestro Editor web sin usar un IDE.
+ * Personalización de usuarios: autentica a los usuarios con Shared Session o JWT para mostrarles contenido personalizado, como el prerellenado de claves de API o contenido específico para clientes.
+ * Mejoras de automatización de OpenAPI: para autopoblar las páginas del Área de pruebas de API, puedes agregar un campo `openapi` a un objeto en los arreglos tabs o anchors en el `docs.json`.
+
+
+
+ ## Okta SSO
+
+ Ahora admitimos inicio de sesión mediante Okta SAML y OIDC.
+
+ ## Mintlify REST API
+
+ Activa actualizaciones de tu documentación de forma programática.
+
+
+
+ ## Modo personalizado
+
+ Agrega una configuración a los metadatos para eliminar todos los elementos excepto la barra superior.
+ Casos de uso de ejemplo:
+
+ * Crea una página de inicio global personalizada con componentes a medida
+ * Agrega videos a pantalla completa o galerías de imágenes
+ * Inserta elementos de demostración iFrame personalizados para agregar interactividad a tu documentación
+
+ Consulta nuestra [documentación de Custom Mode](es/pages#custom-mode).
+
+
+
+ ## Mintlify MDX para VSCode
+
+ Inserta fragmentos de nuestros componentes y avisos prediseñados sin salir de VSCode. [Instala la extensión aquí](https://marketplace.visualstudio.com/items?itemName=mintlify.mintlify-snippets).
+
+
+
+ ## Mejoras de calidad
+
+ * Mejoras del panel: visualiza registros de actualización para ver qué cambió y el estado de una actualización; alterna entre proyectos de Mintlify para gestionar implementaciones
+ * Versionado con pestañas totalmente compatible
+ * Redirecciones con comodines ahora compatibles
+ * Detección de errores en la CLI: ahora mostramos la posición del frontmatter no válido cuando hay problemas de análisis durante el desarrollo local
+
+
+
+ ## Lo más destacado de la Launch Week
+
+ * Implementaciones de vista previa: cuando creas una pull request, generaremos un enlace único que muestra una vista previa en vivo de cómo se ve tu documentación en producción. Puedes compartir este enlace con tu equipo.
+ * Fragmentos V2: ahora admitimos componentes y variables completamente reutilizables para los fragmentos.
+ * Motor MDX de código abierto: hemos expuesto dos API—getCompiledMdx y MDXComponent—para que puedas acceder al Markdown de Mintlify y al resaltado de sintaxis de código. [Se aceptan contribuciones al proyecto](https://github.com/mintlify/mdx).
+ * Insights de AI Chat: segmenta el historial de chat por fecha, aumenta la cuota de AI Chat desde el panel y ve con qué frecuencia aparece una consulta específica.
+
\ No newline at end of file
diff --git a/es/code.mdx b/es/code.mdx
new file mode 100644
index 000000000..0d4088c11
--- /dev/null
+++ b/es/code.mdx
@@ -0,0 +1,367 @@
+---
+title: "Código"
+description: "Mostrar código en línea y bloques de código"
+icon: "code"
+---
+
+
+ ## Agregar ejemplos de código
+
+
+Puedes agregar fragmentos de código en línea o bloques de código. Los bloques de código admiten opciones meta para el resaltado de sintaxis, títulos, resaltado de líneas, iconos y más.
+
+
+ ### Código en línea
+
+
+Para indicar una `palabra` o `frase` como código, enciérrala entre acentos graves (`).
+
+```mdx
+Para marcar una `palabra` o `frase` como código, enciérrala entre comillas invertidas (`).
+```
+
+
+ ### Bloques de código
+
+
+Usa [bloques de código delimitados](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) encerrando el código entre tres comillas invertidas. Los bloques de código se pueden copiar y, si tienes el Asistente habilitado, los usuarios pueden pedirle a la IA que explique el código.
+
+Especifica el lenguaje de programación para el resaltado de sintaxis y para habilitar opciones meta. Agrega cualquier opción meta, como un título o un icono, después del lenguaje.
+
+```java HelloWorld.java lines icon="java"
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+
+````mdx
+```java HelloWorld.java lines icon="java"
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+````
+
+
+ ## Opciones de los bloques de código
+
+
+Puedes añadir opciones meta a tus bloques de código para personalizar su apariencia.
+
+
+ Debes especificar un lenguaje de programación para un bloque de código antes de añadir cualquier otra opción meta.
+
+
+
+ ### Sintaxis de opciones
+
+
+* **Opciones de cadena y booleanas**: Envuélvelas con `""`, `''` o sin comillas.
+* **Opciones de expresión**: Envuélvelas con `{}`, `""` o `''`.
+
+
+ ### Resaltado de sintaxis
+
+
+Activa el resaltado de sintaxis indicando el lenguaje de programación después de las comillas invertidas de apertura de un bloque de código.
+
+Usamos [Shiki](https://shiki.style/) para el resaltado de sintaxis y admitimos todos los lenguajes disponibles. Consulta la lista completa de [lenguajes](https://shiki.style/languages) en la documentación de Shiki.
+
+Personaliza globalmente los temas de los bloques de código usando `styling.codeblocks` en tu archivo `docs.json`. Establece temas simples como `system` o `dark`, o configura [temas de Shiki](https://shiki.style/themes) personalizados para los modos claro y oscuro. Consulta [Settings](/es/settings#styling) para ver las opciones de configuración detalladas.
+
+```java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+
+````mdx
+```java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+````
+
+
+ ### Título
+
+
+Añade un título para etiquetar tu ejemplo de código. Usa `title="Your title"` o una cadena en una sola línea.
+
+```javascript Code Block Example
+const hello = "mundo";
+```
+
+````mdx
+```javascript Ejemplo de Bloque de Código
+const hello = "world";
+```
+````
+
+
+ ### Icono
+
+
+Añade un icono a tu bloque de código con la propiedad `icon`. Consulta [Iconos](/es/components/icons) para ver todas las opciones disponibles.
+
+```javascript icon="square-js"
+const hello = "mundo";
+```
+
+````mdx
+```javascript icon="square-js"
+const hello = "world";
+```
+````
+
+
+ ### Resaltado de líneas
+
+
+Resalta líneas específicas en tus bloques de código usando `highlight` con los números de línea o los rangos que quieras resaltar.
+
+```javascript Line Highlighting Example highlight= {1-2,5}
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+
+````mdx
+```javascript Ejemplo de Resaltado de Líneas highlight={1-2,5}
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
+
+
+ ### Enfoque de líneas
+
+
+Resalta líneas específicas en tus bloques de código usando `focus` con números de línea o rangos.
+
+```javascript Line Focus Example focus= {2,4-5}
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+
+````mdx
+```javascript Line Focus Example focus={2,4-5}
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
+
+
+ ### Mostrar números de línea
+
+
+Muestra los números de línea en el lado izquierdo de tu bloque de código usando `lines`.
+
+```javascript Show Line Numbers Example lines
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+
+````mdx
+```javascript Mostrar números de línea Líneas de ejemplo
+const greeting = "¡Hola, Mundo!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
+
+
+ ### Expandible
+
+
+Permite que los usuarios expandan y contraigan bloques de código largos con `expandable`.
+
+```python Expandable Example expandable
+from datetime import datetime, timedelta
+from typing import Dict, List, Optional
+from dataclasses import dataclass
+
+@dataclass
+class Book:
+ title: str
+ author: str
+ isbn: str
+ checked_out: bool = False
+ due_date: Optional[datetime] = None
+
+class Library:
+ def __init__(self):
+ self.books: Dict[str, Book] = {}
+ self.checkouts: Dict[str, List[str]] = {} # usuario -> lista de ISBNs
+
+ def add_book(self, book: Book) -> None:
+ if book.isbn in self.books:
+ raise ValueError(f"El libro con ISBN {book.isbn} ya existe")
+ self.books[book.isbn] = book
+
+ def checkout_book(self, isbn: str, patron: str, days: int = 14) -> None:
+ if patron not in self.checkouts:
+ self.checkouts[patron] = []
+
+ book = self.books.get(isbn)
+ if not book:
+ raise ValueError("Libro no encontrado")
+
+ if book.checked_out:
+ raise ValueError("El libro ya está en préstamo")
+
+ if len(self.checkouts[patron]) >= 3:
+ raise ValueError("El usuario ha alcanzado el límite de préstamos")
+
+ book.checked_out = True
+ book.due_date = datetime.now() + timedelta(days=days)
+ self.checkouts[patron].append(isbn)
+
+ def return_book(self, isbn: str) -> float:
+ book = self.books.get(isbn)
+ if not book or not book.checked_out:
+ raise ValueError("Libro no encontrado o no está en préstamo")
+
+ late_fee = 0.0
+ if datetime.now() > book.due_date:
+ days_late = (datetime.now() - book.due_date).days
+ late_fee = days_late * 0.50
+
+ book.checked_out = False
+ book.due_date = None
+
+ # Remove from patron's checkouts
+ # Eliminar de los préstamos del usuario
+ if isbn in books:
+ books.remove(isbn)
+ break
+
+ return late_fee
+
+ def search(self, query: str) -> List[Book]:
+ query = query.lower()
+ return [
+ book for book in self.books.values()
+ if query in book.title.lower() or query in book.author.lower()
+ ]
+
+def main():
+ library = Library()
+
+ # Agregar algunos libros
+ books = [
+ Book("The Hobbit", "J.R.R. Tolkien", "978-0-261-10295-4"),
+ Book("1984", "George Orwell", "978-0-452-28423-4"),
+ ]
+
+ for book in books:
+ library.add_book(book)
+
+ # Ejemplo de préstamo y devolución
+ library.checkout_book("978-0-261-10295-4", "patron123")
+ late_fee = library.return_book("978-0-261-10295-4")
+ print(f"Multa por retraso: ${late_fee:.2f}")
+
+if __name__ == "__main__":
+ main()
+```
+
+````mdx
+```python Ejemplo Expandible expandible
+from datetime import datetime, timedelta
+from typing import Dict, List, Optional
+from dataclasses import dataclass
+
+# ...
+
+if __name__ == "__main__":
+ main()
+```
+````
+
+
+ ### Wrap
+
+
+Habilita el ajuste de texto para líneas largas con `wrap`. Esto evita el desplazamiento horizontal y facilita la lectura de líneas largas.
+
+```javascript Wrap Example wrap
+const greeting = "¡Hola, Mundo! Soy una línea larga de texto que se ajustará a la siguiente línea.";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+
+````mdx
+```javascript Wrap Example wrap
+const greeting = "¡Hola, Mundo! Soy una línea larga de texto que se ajustará a la siguiente línea.";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
+
+
+ ### Diff
+
+
+Muestra un diff visual de las líneas añadidas o eliminadas en tus bloques de código. Las líneas añadidas se resaltan en verde y las eliminadas se resaltan en rojo.
+
+Para crear diffs, agrega estos comentarios especiales al final de las líneas en tu bloque de código:
+
+* `// [!code ++]`: Marca una línea como añadida (resaltado en verde).
+* `// [!code --]`: Marca una línea como eliminada (resaltado en rojo).
+
+Para varias líneas consecutivas, especifica el número de líneas después de dos puntos:
+
+* `// [!code ++:3]`: Marca la línea actual más las dos siguientes como añadidas.
+* `// [!code --:5]`: Marca la línea actual más las cuatro siguientes como eliminadas.
+
+La sintaxis de los comentarios debe coincidir con tu lenguaje de programación (por ejemplo, `//` para JavaScript o `#` para Python).
+
+```js Diff Example icon="code" lines
+const greeting = "¡Hola, Mundo!"; // [!code ++]
+function sayHello() {
+ console.log("¡Hola, Mundo!"); // [!code --]
+ console.log(greeting); // [!code ++]
+}
+sayHello();
+```
+
+````text
+```js Ejemplo de Diff icon="code" lines
+const greeting = "¡Hola, Mundo!"; // [!code ++]
+function sayHello() {
+ console.log("¡Hola, Mundo!"); // [!code --]
+ console.log(greeting); // [!code ++]
+}
+sayHello();
+```
+````
diff --git a/es/components/accordions.mdx b/es/components/accordions.mdx
new file mode 100644
index 000000000..aac729359
--- /dev/null
+++ b/es/components/accordions.mdx
@@ -0,0 +1,112 @@
+---
+title: "Acordeones"
+description: "Componentes desplegables para mostrar y ocultar contenido"
+icon: "chevron-down"
+---
+
+import IconsOptional from "/snippets/es/icons-optional.mdx";
+
+Los acordeones permiten a los usuarios expandir y contraer secciones de contenido. Utiliza acordeones para la revelación progresiva y para organizar la información.
+
+
+
+ ## Acordeón individual
+
+
+
+ Puedes poner cualquier contenido aquí, incluidos otros componentes, como código:
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+````mdx Ejemplo de acordeón
+
+ Puedes incluir cualquier contenido aquí, incluso otros componentes, como código:
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, mundo!");
+ }
+ }
+ ```
+
+````
+
+
+
+ ## Grupos de acordeones
+
+
+Agrupa acordeones relacionados usando ``. Esto crea una sección coherente de acordeones que se pueden expandir o contraer individualmente.
+
+
+
+ Puedes colocar otros componentes dentro de los acordeones.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+
+ Agrega íconos para que los acordeones sean más distintivos visualmente y fáciles de explorar.
+
+
+
+ Mantén el contenido relacionado organizado en grupos.
+
+
+
+````mdx Ejemplo de grupo de acordeones
+
+
+ Puedes incluir otros componentes dentro de los acordeones.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, mundo!");
+ }
+ }
+ ```
+
+
+
+ Añade iconos para que los acordeones sean más diferenciables y fáciles de escanear visualmente.
+
+
+
+ Mantén el contenido relacionado organizado en grupos.
+
+
+````
+
+
+
+ ## Propiedades
+
+
+
+ Título en la vista previa del acordeón.
+
+
+
+ Detalle debajo del título en la vista previa del acordeón.
+
+
+
+ Si el acordeón se abre de forma predeterminada.
+
+
+
diff --git a/es/components/banner.mdx b/es/components/banner.mdx
new file mode 100644
index 000000000..8c8b1a427
--- /dev/null
+++ b/es/components/banner.mdx
@@ -0,0 +1,44 @@
+---
+title: "Banner"
+description: "Añade un banner para mostrar anuncios y notificaciones importantes en todo el sitio"
+icon: "layout-panel-top"
+---
+
+Usa banners para mostrar anuncios, actualizaciones o notificaciones importantes en todo tu sitio de documentación. Los banners aparecen en la parte superior de cada página, admiten formato Markdown y se pueden hacer descartables.
+
+Para añadir un banner, usa la propiedad `banner` en tu `docs.json`:
+
+
+ ```json Product announcements wrap
+ "banner": {
+ "content": "🚀 La versión 2.0 ya está disponible. Consulta nuestro [registro de cambios](/changelog) para más detalles.",
+ "dismissible": true
+ }
+ ```
+
+ ```json Maintenance notices wrap
+ "banner": {
+ "content": "⚠️ Mantenimiento programado: la API no estará disponible el 15 de diciembre, de 2 a 4 a. m. UTC",
+ "dismissible": false
+ }
+ ```
+
+ ```json Required actions wrap
+ "banner": {
+ "content": "**Acción requerida:** migra a nuestra nueva versión antes del 1 de enero. [Guía de migración](/migration)",
+ "dismissible": true
+ }
+ ```
+
+
+
+ ## Propiedades
+
+
+
+ El mensaje del banner. Admite texto sin formato y Markdown.
+
+
+
+ Indica si los usuarios pueden cerrar el banner. Cuando `true`, los usuarios pueden cerrarlo y no volverá a aparecer durante su sesión. De manera predeterminada es `false`.
+
\ No newline at end of file
diff --git a/es/components/callouts.mdx b/es/components/callouts.mdx
new file mode 100644
index 000000000..0f9b9fdbd
--- /dev/null
+++ b/es/components/callouts.mdx
@@ -0,0 +1,49 @@
+---
+title: "Llamadas"
+description: "Usa llamadas para añadir contexto llamativo a tu contenido"
+icon: "info"
+---
+
+Las llamadas se pueden presentar como Nota, Advertencia, Info, Consejo, Aprobado, Peligro, o crear tu propia llamada:
+
+Esto añade una nota en el contenido
+
+```mdx
+Esto añade una nota en el contenido
+```
+
+Esto muestra una advertencia a la que hay que prestar atención
+
+```mdx
+Esto genera una advertencia a la que hay que estar atento
+```
+
+Esto destaca información importante
+
+```mdx
+Esto resalta información importante
+```
+
+Este es un consejo útil
+
+```mdx
+Este es un consejo útil
+```
+
+Esto nos da un estado verificado
+
+```mdx
+Esto nos da un estado verificado
+```
+
+Este es un aviso de peligro
+
+```mdx
+Este es un aviso de peligro
+```
+
+ Este es un aviso personalizado
+
+```mdx ajustar
+Este es un callout personalizado
+```
diff --git a/es/components/cards.mdx b/es/components/cards.mdx
new file mode 100644
index 000000000..a0b081a90
--- /dev/null
+++ b/es/components/cards.mdx
@@ -0,0 +1,146 @@
+---
+title: "Tarjetas"
+description: "Destaca puntos clave o enlaces con diseños e iconos personalizables"
+icon: "square-mouse-pointer"
+---
+
+import IconsOptional from "/snippets/es/icons-optional.mdx";
+
+Usa tarjetas para crear contenedores visuales de contenido. Las tarjetas son contenedores flexibles que pueden incluir texto, iconos, imágenes y enlaces.
+
+
+ ## Tarjeta básica
+
+
+
+ Así es como usar una tarjeta con un icono y un enlace. Al hacer clic en esta tarjeta,
+ irás a la página Columns.
+
+
+```mdx Card example
+
+ Así es como se usa una tarjeta con un ícono y un enlace. Al hacer clic en esta tarjeta
+ te dirigirá a la página de Columnas.
+
+```
+
+
+ ## Variantes de tarjetas
+
+
+Las tarjetas ofrecen varias opciones de diseño y estilo para adaptarse a distintas necesidades de contenido.
+
+
+ ### Diseño horizontal
+
+
+Agrega la propiedad `horizontal` para mostrar las tarjetas en un diseño horizontal más compacto.
+
+
+ Este es un ejemplo de una tarjeta horizontal.
+
+
+```mdx Horizontal card example
+
+ Este es un ejemplo de una tarjeta horizontal.
+
+```
+
+
+ ### Tarjetas con imagen
+
+
+Agrega la propiedad `img` para mostrar una imagen en la parte superior de la tarjeta.
+
+
+ Este es un ejemplo de una tarjeta con imagen.
+
+
+```mdx Image card example
+
+ Este es un ejemplo de una tarjeta con imagen.
+
+```
+
+
+ ### Tarjetas de enlace con CTA personalizado
+
+
+Puedes personalizar el texto de la llamada a la acción y controlar si aparece una flecha. De forma predeterminada, las flechas solo se muestran en los enlaces externos.
+
+
+ Este es un ejemplo de una tarjeta con un ícono y un enlace. Al hacer clic en esta tarjeta, irás a la página de Columns.
+
+
+```mdx Link card example
+
+ Este es un ejemplo de una tarjeta con un icono y un enlace. Al hacer clic en esta tarjeta te lleva a la página de Columnas.
+
+```
+
+
+ ## Agrupar tarjetas
+
+
+Usa el [componente Columns](/es/components/columns) para organizar varias tarjetas lado a lado.
+
+
+
+ Esta es la primera tarjeta.
+
+
+
+ Esta es la segunda tarjeta.
+
+
+
+```mdx Columns example
+
+
+ Esta es la primera tarjeta.
+
+
+ Esta es la segunda tarjeta.
+
+
+```
+
+
+ ## Propiedades
+
+
+
+ El título que se muestra en la tarjeta
+
+
+
+
+
+ Color del ícono en código hexadecimal (por ejemplo, `#FF6B6B`).
+
+
+
+ URL a la que se navega al hacer clic en la tarjeta.
+
+
+
+ Muestra la tarjeta en un diseño horizontal compacto.
+
+
+
+ URL o ruta local de una imagen mostrada en la parte superior de la tarjeta.
+
+
+
+ Texto personalizado para el botón de acción.
+
+
+
+ Mostrar u ocultar el ícono de flecha del enlace.
+
\ No newline at end of file
diff --git a/es/components/code-groups.mdx b/es/components/code-groups.mdx
new file mode 100644
index 000000000..df6984053
--- /dev/null
+++ b/es/components/code-groups.mdx
@@ -0,0 +1,100 @@
+---
+title: "Grupos de código"
+description: "Muestra varios ejemplos de código en un solo componente"
+icon: "group"
+---
+
+Usa el componente `CodeGroup` para mostrar varios bloques de código en una interfaz con pestañas, lo que permite a los usuarios comparar implementaciones en distintos lenguajes de programación o ver enfoques alternativos para la misma tarea.
+
+
+ ```javascript helloWorld.js
+ console.log("Hello World");
+ ```
+
+ ```python hello_world.py
+ print('Hello World!')
+ ```
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+Los grupos de código heredan el estilo global de tu archivo `docs.json`. Personaliza tu tema con `styling.codeblocks`. Consulta [Settings](/es/settings#styling) para ver las opciones de configuración.
+
+
+ ## Creación de grupos de código
+
+
+Para crear un grupo de código, envuelve varios bloques de código con las etiquetas ``. Cada bloque de código debe incluir un título, que será la etiqueta de la pestaña.
+
+````mdx
+
+
+```javascript helloWorld.js
+console.log("Hola Mundo");
+```
+
+```python hello_world.py
+print('¡Hola Mundo!')
+```
+
+```java HelloWorld.java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+
+
+````
+
+
+ ## Menú desplegable de idiomas
+
+
+Puedes reemplazar las pestañas de un grupo de código por un menú desplegable para alternar entre idiomas usando la prop `dropdown`.
+
+
+ ```javascript helloWorld.js
+ console.log("Hello World");
+ ```
+
+ ```python hello_world.py
+ print('Hello World!')
+ ```
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+````mdx highlight=1
+
+
+```javascript helloWorld.js
+console.log("Hola Mundo");
+```
+
+```python hello_world.py
+print('¡Hola Mundo!')
+```
+
+```java HelloWorld.java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, Mundo!");
+ }
+}
+```
+
+````
diff --git a/es/components/columns.mdx b/es/components/columns.mdx
new file mode 100644
index 000000000..517192df0
--- /dev/null
+++ b/es/components/columns.mdx
@@ -0,0 +1,38 @@
+---
+title: 'Columns'
+description: 'Muestra tarjetas en paralelo en un formato de cuadrícula'
+icon: 'columns-2'
+keywords: ['card groups']
+---
+
+El componente `Columns` te permite agrupar varios componentes `Card`. Se usa principalmente para colocar tarjetas en una cuadrícula especificando el número de columnas.
+
+
+
+ Configura tu proyecto con nuestra guía de inicio rápido.
+
+
+
+ Explora endpoints, parámetros y ejemplos para tu API.
+
+
+
+```mdx Ejemplo de columnas
+
+
+ Configura tu proyecto con nuestra guía de inicio rápido.
+
+
+ Explora los endpoints, parámetros y ejemplos de tu API.
+
+
+```
+
+
+
+ ## Propiedades
+
+
+
+ La cantidad de columnas por fila.
+
\ No newline at end of file
diff --git a/es/components/examples.mdx b/es/components/examples.mdx
new file mode 100644
index 000000000..9875d167f
--- /dev/null
+++ b/es/components/examples.mdx
@@ -0,0 +1,64 @@
+---
+title: "Ejemplos"
+description: "Muestra bloques de código en la barra lateral derecha en equipos de escritorio"
+icon: 'between-horizontal-start'
+---
+
+Los componentes `` y `` muestran bloques de código en la barra lateral derecha para crear un diseño de dos columnas que mantiene los ejemplos visibles mientras los usuarios se desplazan por tu contenido. Estos componentes están pensados para la documentación de API, pero funcionan en todas las páginas.
+
+Casos de uso comunes:
+
+* Documentación de endpoints de API con ejemplos de solicitud y respuesta
+* Ejemplos de configuración junto con texto explicativo
+* Fragmentos de código que los usuarios consultan mientras siguen instrucciones
+* Ejemplos de antes y después en tutoriales
+
+En dispositivos móviles, los componentes `` y `` se muestran como bloques de código normales y se pueden omitir al desplazarse.
+
+
+ ```bash Request
+ curl --request POST \
+ --url https://dog-api.kinduff.com/api/facts
+ ```
+
+
+
+ ```json Response
+ { "status": "success" }
+ ```
+
+
+
+ ## RequestExample
+
+
+Usa `` para anclar ejemplos de código en la barra lateral derecha. Este componente funciona de forma similar al componente [CodeGroup](/es/components/code-groups), pero muestra el código en la barra lateral en lugar de en línea.
+
+Puedes incluir varios bloques de código dentro de un único ``. Cada bloque de código debe tener un atributo title.
+
+````mdx EjemploDeSolicitud
+
+
+```bash Solicitud
+ curl --request POST \
+ --url https://dog-api.kinduff.com/api/facts
+```
+
+
+````
+
+
+ ## ResponseExample
+
+
+El componente `` fija ejemplos de código en la barra lateral derecha, debajo de cualquier contenido `` en la misma página.
+
+````mdx EjemploDeRespuesta
+
+
+```json Respuesta
+{ "status": "success" }
+```
+
+
+````
diff --git a/es/components/expandables.mdx b/es/components/expandables.mdx
new file mode 100644
index 000000000..a70223c8f
--- /dev/null
+++ b/es/components/expandables.mdx
@@ -0,0 +1,46 @@
+---
+title: "Desplegables"
+description: "Alternar para mostrar propiedades anidadas"
+icon: "list-tree"
+---
+
+Usa desplegables para mostrar y ocultar contenido anidado dentro de los campos de respuesta. Los desplegables son especialmente útiles para mostrar propiedades de objetos complejos en la documentación de API.
+
+
+
+
+ El nombre completo del usuario
+
+
+
+ Indica si el usuario es mayor de 21 años
+
+
+
+
+```mdx Ejemplo expandible
+
+
+
+ El nombre completo del usuario
+
+
+
+ Indica si el usuario tiene más de 21 años
+
+
+
+```
+
+
+
+ ## Propiedades
+
+
+
+ El nombre del objeto que se muestra.
+
+
+
+ Establécelo en `true` para que el panel desplegable se abra al cargar la página.
+
diff --git a/es/components/fields.mdx b/es/components/fields.mdx
new file mode 100644
index 000000000..5dae7f118
--- /dev/null
+++ b/es/components/fields.mdx
@@ -0,0 +1,108 @@
+---
+title: "Campos"
+description: "Configura parámetros para tus referencias de API o SDK"
+icon: "letter-text"
+---
+
+Usa campos para documentar parámetros y respuestas de la API. Hay dos tipos de campos: campos de parámetro y campos de respuesta.
+
+
+ ## Campo de parámetro
+
+
+El componente `` se usa para definir parámetros de tus API o SDK. Al agregar un `ParamField`, se añade automáticamente un [Área de pruebas de API](/es/api-playground/overview).
+
+
+ Un ejemplo de un campo de parámetro
+
+
+```mdx
+
+ Un ejemplo de un campo de parámetros
+
+```
+
+
+ ### Propiedades
+
+
+
+ Indica si el parámetro es de consulta, ruta, cuerpo o encabezado. Luego, el
+ nombre del parámetro.
+
+
+
+ Tipo esperado del valor del parámetro.
+
+ Admite `number`, `string`, `boolean`, `object`.
+
+ Los arreglos pueden definirse usando el sufijo `[]`. Por ejemplo, `string[]`.
+
+
+
+ Indica si el parámetro es obligatorio.
+
+
+
+ Indica si el parámetro está en desuso.
+
+
+
+ Valor predeterminado que se aplica cuando el valor de la solicitud está vacío.
+
+
+
+ Texto del marcador de posición para el campo en el área de pruebas.
+
+
+
+ Descripción del parámetro (con soporte para Markdown).
+
+
+
+ ## Campo de respuesta
+
+
+El componente `` define los valores de retorno de una API.
+
+
+ Ejemplo de un campo de respuesta
+
+
+```mdx
+
+ Ejemplo de campo de respuesta
+
+```
+
+
+ ### Propiedades
+
+
+
+ El nombre del valor de la respuesta.
+
+
+
+ Tipo esperado del valor de la respuesta. Puede ser cualquier cadena.
+
+
+
+ El valor por defecto.
+
+
+
+ Indica si la respuesta es obligatoria.
+
+
+
+ Indica si un campo está en desuso.
+
+
+
+ Etiquetas que se muestran antes del nombre del campo.
+
+
+
+ Etiquetas que se muestran después del nombre del campo.
+
diff --git a/es/components/frames.mdx b/es/components/frames.mdx
new file mode 100644
index 000000000..6e425e2c8
--- /dev/null
+++ b/es/components/frames.mdx
@@ -0,0 +1,44 @@
+---
+title: "Marcos"
+description: "Encierra imágenes u otros componentes en un contenedor"
+icon: "frame"
+---
+
+Usa marcos para mostrar imágenes, diagramas u otro contenido visual con un estilo uniforme y leyendas opcionales. Los marcos centran el contenido y lo separan visualmente del texto circundante.
+
+
+
+
+
+
+ ## Leyendas
+
+
+Puedes agregar contexto adicional a una imagen usando la prop opcional `caption`.
+
+
+
+
+
+
+ ## Propiedades
+
+
+
+ Texto de pie de foto opcional que se muestra centrado debajo de tu componente.
+
+
+
+
+```mdx Frame
+
+
+
+```
+
+```mdx Frame with a caption
+
+
+
+```
+
\ No newline at end of file
diff --git a/es/components/icons.mdx b/es/components/icons.mdx
new file mode 100644
index 000000000..4fd40e23f
--- /dev/null
+++ b/es/components/icons.mdx
@@ -0,0 +1,43 @@
+---
+title: "Iconos"
+description: "Usa iconos de bibliotecas de iconos populares"
+icon: "flag"
+---
+
+import IconsRequired from "/snippets/es/icons-required.mdx";
+
+Usa iconos de Font Awesome, Lucide, SVG, URL externas o archivos de tu proyecto para mejorar tu documentación.
+
+
+
+```mdx Ejemplo de icono
+
+```
+
+
+
+ ## Iconos en línea
+
+
+Los iconos se colocan en línea cuando se utilizan dentro de un párrafo.
+
+ La documentación que necesitas, sin esfuerzo.
+
+```markdown Ejemplo de icono en línea
+ La documentación que quieres, sin complicaciones.
+```
+
+
+
+ ## Propiedades
+
+
+
+
+
+ El color del icono como código hexadecimal (por ejemplo, `#FF5733`).
+
+
+
+ El tamaño del icono en píxeles.
+
diff --git a/es/components/mermaid-diagrams.mdx b/es/components/mermaid-diagrams.mdx
new file mode 100644
index 000000000..afef678c3
--- /dev/null
+++ b/es/components/mermaid-diagrams.mdx
@@ -0,0 +1,62 @@
+---
+title: "Mermaid"
+description: "Muestra diagramas con Mermaid"
+icon: "waypoints"
+---
+
+[Mermaid](https://mermaid.js.org/) te permite crear diagramas de flujo, de secuencia, de Gantt y otros diagramas usando texto y código.
+
+Para ver la lista completa de tipos de diagramas admitidos y su sintaxis, consulta la [documentación de Mermaid](https://mermaid.js.org/intro/).
+
+```mermaid
+ flowchart LR
+ subgraph subgraph1
+ direction TB
+ top1[top] --> bottom1[bottom]
+ end
+ subgraph subgraph2
+ direction TB
+ top2[top] --> bottom2[bottom]
+ end
+ %% ^ Estos subgrafos son idénticos, excepto por los enlaces que apuntan a ellos:
+
+ %% Enlace hacia subgraph1: se mantiene la dirección de subgraph1
+ outside --> subgraph1
+ %% Enlace dentro de subgraph2:
+ %% subgraph2 hereda la dirección del grafo de nivel superior (LR)
+ outside ---> top2
+```
+
+````mdx Ejemplo de diagrama de flujo en Mermaid
+```mermaid
+ flowchart LR
+ subgraph subgraph1
+ direction TB
+ top1[top] --> bottom1[bottom]
+ end
+ subgraph subgraph2
+ direction TB
+ top2[top] --> bottom2[bottom]
+ end
+ %% ^ Estos subgrafos son idénticos, excepto por los enlaces hacia ellos:
+
+ %% Enlace al subgraph1: se mantiene la dirección de subgraph1
+ outside --> subgraph1
+ %% Enlace dentro de subgraph2:
+ %% subgraph2 hereda la dirección del grafo de nivel superior (LR)
+ outside ---> top2
+```
+````
+
+
+
+ ## Sintaxis
+
+
+Para crear un diagrama de Mermaid, escribe la definición del diagrama dentro de un bloque de código de Mermaid.
+
+````mdx
+```mermaid
+// Coloca aquí el código de tu diagrama de Mermaid
+```
+````
diff --git a/es/components/panel.mdx b/es/components/panel.mdx
new file mode 100644
index 000000000..467ba1b78
--- /dev/null
+++ b/es/components/panel.mdx
@@ -0,0 +1,21 @@
+---
+title: 'Panel'
+description: 'Especifica el contenido del panel lateral derecho'
+icon: 'panel-right'
+---
+
+Puedes usar el componente `` para personalizar el panel lateral derecho de una página con cualquier componente que desees.
+
+Si una página incluye un componente ``, los componentes [RequestExample](/es/components/examples#request-example) y [ResponseExample](/es/components/examples#response-example) deben estar dentro de ``.
+
+Los componentes dentro de `` reemplazarán la tabla de contenidos de la página.
+
+```mdx
+
+ Fija la información en el panel lateral. O agrega cualquier otro componente.
+
+```
+
+
+ Fija la información en el panel lateral. O agrega cualquier otro componente.
+
diff --git a/es/components/responses.mdx b/es/components/responses.mdx
new file mode 100644
index 000000000..0a40b527f
--- /dev/null
+++ b/es/components/responses.mdx
@@ -0,0 +1,59 @@
+---
+title: 'Campos de respuesta'
+description: 'Mostrar valores de respuesta de la API'
+---
+
+El componente `` está diseñado para definir los valores devueltos por una API. Muchos documentos también utilizan `` en páginas cuando necesitas enumerar los tipos de algo.
+
+
+ Ejemplo de campo de respuesta
+
+
+```mdx
+
+ Ejemplo de campo de respuesta
+
+```
+
+
+
+ ## Props
+
+
+
+ El nombre del valor de la respuesta.
+
+
+
+ Tipo esperado del valor de la respuesta; puede ser cualquier cadena arbitraria.
+
+
+
+ El valor predeterminado.
+
+
+
+ Mostrar “required” junto al nombre del campo.
+
+
+
+ Indica si un campo está obsoleto o no.
+
+
+
+ Etiquetas que se muestran antes del nombre del campo
+
+
+
+ Etiquetas que se muestran después del nombre del campo
+
+
+
+
+```mdx Response Field Example
+
+ Un ejemplo de campo de respuesta
+
+```
+
+
diff --git a/es/components/steps.mdx b/es/components/steps.mdx
new file mode 100644
index 000000000..ae09a19a4
--- /dev/null
+++ b/es/components/steps.mdx
@@ -0,0 +1,74 @@
+---
+title: "Pasos"
+description: "Secuencia contenido con el componente Steps"
+icon: "list-todo"
+---
+
+import IconsOptional from "/snippets/es/icons-optional.mdx";
+
+Usa pasos para mostrar una serie de acciones o eventos secuenciales. Puedes agregar tantos pasos como necesites.
+
+
+
+ Estas son instrucciones o contenido que solo aplican al primer paso.
+
+
+
+ Estas son instrucciones o contenido que solo aplican al segundo paso.
+
+
+
+ Estas son instrucciones o contenido que solo aplican al tercer paso.
+
+
+
+```mdx Ejemplo de pasos
+
+
+ Estas son instrucciones o contenido que solo aplican al primer paso.
+
+
+ Estas son instrucciones o contenido que solo aplican al segundo paso.
+
+
+ Estas son instrucciones o contenido que solo aplican al tercer paso.
+
+
+```
+
+
+
+ ## Propiedades de Steps
+
+
+
+ Una lista de componentes `Step`.
+
+
+
+ El tamaño de los títulos de los pasos. Puede ser `p`, `h2` o `h3`.
+
+
+
+
+
+ ## Propiedades individuales de un paso
+
+
+
+ El contenido de un paso, ya sea texto sin formato o componentes.
+
+
+
+
+
+ El título es el texto principal del paso y aparece junto al indicador.
+
+
+
+ El número del paso.
+
+
+
+ El tamaño de los títulos del paso. Uno de `p`, `h2` o `h3`.
+
diff --git a/es/components/tabs.mdx b/es/components/tabs.mdx
new file mode 100644
index 000000000..47075706b
--- /dev/null
+++ b/es/components/tabs.mdx
@@ -0,0 +1,75 @@
+---
+title: "Pestañas"
+description: "Alterna contenido con el componente Tabs"
+icon: "panel-top"
+---
+
+Usa pestañas para organizar contenido en varios paneles entre los que los usuarios pueden alternar. Puedes añadir tantas pestañas como necesites e incluir otros componentes dentro de cada una.
+
+
+
+ ☝️ Bienvenido al contenido que solo puedes ver dentro de la primera pestaña.
+
+ Puedes añadir tantos componentes como quieras dentro de las pestañas. Por ejemplo, un bloque de código:
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+
+ ✌️ Aquí tienes contenido que solo está dentro de la segunda pestaña.
+
+ ¡Esta tiene un icono !
+
+
+
+ 💪 Aquí tienes contenido que solo está dentro de la tercera pestaña.
+
+
+
+````mdx Ejemplo de pestañas
+
+
+ ☝️ Bienvenido al contenido que solo puedes ver dentro de la primera pestaña.
+
+ Puedes añadir cualquier cantidad de componentes dentro de las pestañas. Por ejemplo, un bloque de código:
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("¡Hola, mundo!");
+ }
+ }
+ ```
+
+
+ ✌️ Aquí tienes contenido que solo aparece dentro de la segunda pestaña.
+
+ ¡Esta tiene un !
+
+
+ 💪 Aquí tienes contenido que solo aparece dentro de la tercera pestaña.
+
+
+````
+
+
+
+ ## Propiedades
+
+
+
+ El título de la pestaña. Los títulos cortos facilitan la navegación.
+
+
+
+ Un ícono de [Font Awesome](https://fontawesome.com/icons), un ícono de [Lucide](https://lucide.dev/icons), una URL a un ícono o una ruta relativa a un ícono.
+
+
+
+ Solo para íconos de Font Awesome: uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
+
diff --git a/es/components/tooltips.mdx b/es/components/tooltips.mdx
new file mode 100644
index 000000000..3954173da
--- /dev/null
+++ b/es/components/tooltips.mdx
@@ -0,0 +1,29 @@
+---
+title: "Tooltips"
+description: "Muestra una definición al pasar el cursor sobre el texto"
+icon: "message-square"
+---
+
+Usa tooltips para proporcionar contexto adicional o definiciones cuando un usuario pasa el cursor sobre un fragmento de texto. Los tooltips pueden incluir enlaces opcionales con llamada a la acción.
+
+**Ejemplo**: API La documentación ayuda a los desarrolladores a entender cómo integrarse con tu servicio.
+
+```mdx Envoltura de ejemplo de tooltip
+API la documentación ayuda a los desarrolladores a entender cómo integrarse con tu servicio.
+```
+
+
+ ## Propiedades
+
+
+
+ El texto que se muestra en el indicador (tooltip).
+
+
+
+ El texto del llamado a la acción para un enlace dentro del indicador (tooltip).
+
+
+
+ URL del enlace del llamado a la acción. Obligatorio cuando se usa `cta`.
+
\ No newline at end of file
diff --git a/es/components/update.mdx b/es/components/update.mdx
new file mode 100644
index 000000000..34395d0c8
--- /dev/null
+++ b/es/components/update.mdx
@@ -0,0 +1,51 @@
+---
+title: "Actualización"
+description: "Lleva un registro de cambios y actualizaciones"
+icon: "list-collapse"
+---
+
+Usa el componente `Update` para mostrar entradas del registro de cambios, actualizaciones de versiones y notas de lanzamiento con un formato uniforme.
+
+
+ ## Actualización de ejemplo
+
+ Puedes añadir cualquier cosa aquí, como una captura de pantalla, un fragmento de código o una lista de cambios.
+
+
+
+
+
+ ### Novedades
+
+ * Diseño adaptable
+ * Ancla para cada actualización
+ * Entrada de RSS generada para cada actualización
+
+
+
+ ## Cómo usarlo
+
+
+```mdx Ejemplo de actualización
+
+ Esta es una actualización con una etiqueta, una descripción y una etiqueta.
+
+```
+
+Usa varios componentes `Update` para crear [registros de cambios](/es/guides/changelogs).
+
+
+ ## Props
+
+
+
+ Etiqueta de la actualización. Aparece a la izquierda de la actualización y genera un enlace de anclaje. Las etiquetas deben ser únicas.
+
+
+
+ Etiquetas de la actualización. Se muestran como filtros en el panel lateral derecho.
+
+
+
+ Descripción de la actualización. Aparece debajo de la etiqueta y las etiquetas.
+
diff --git a/es/contact-support.mdx b/es/contact-support.mdx
new file mode 100644
index 000000000..2bec8b089
--- /dev/null
+++ b/es/contact-support.mdx
@@ -0,0 +1,35 @@
+---
+title: "Contactar al soporte"
+icon: "circle-help"
+description: "Estamos aquí para ayudarte a sacarle el máximo provecho a Mintlify"
+---
+
+
+ ## Pregunta a nuestra documentación
+
+
+Selecciona Command + I para iniciar un chat con nuestro Asistente entrenado con nuestra documentación.
+
+
+ ## Mira tutoriales en video
+
+
+Visita nuestro canal de [YouTube](https://www.youtube.com/@GetMintlify/videos) para encontrar tutoriales y guías sobre el uso de Mintlify.
+
+
+ ## Soporte por mensajes
+
+
+Envíanos un mensaje desde tu [panel](https://dashboard.mintlify.com/) seleccionando **Support** en la barra lateral.
+
+
+
+
+Nuestro objetivo es responder a todas las solicitudes en un plazo de 24 horas, pero pueden producirse retrasos en períodos de alta demanda.
+
+
+
+ ## Soporte por correo electrónico
+
+
+Si no puedes acceder al panel, envíanos un correo a support@mintlify.com.
\ No newline at end of file
diff --git a/es/editor/branches.mdx b/es/editor/branches.mdx
new file mode 100644
index 000000000..c327fa05d
--- /dev/null
+++ b/es/editor/branches.mdx
@@ -0,0 +1,42 @@
+---
+title: "Trabajo con ramas"
+description: "Usa ramas para realizar y revisar cambios sin afectar tu documentación en producción"
+---
+
+Las ramas son una característica del control de versiones que apuntan a commits específicos en tu repositorio. Tu rama de despliegue, generalmente llamada `main`, representa el contenido con el que se construye tu documentación en producción. Todas las demás ramas son independientes de tu documentación en producción, a menos que decidas fusionarlas con tu rama de despliegue.
+
+Las ramas te permiten crear instancias separadas de tu documentación para hacer cambios, solicitar revisiones y probar nuevos enfoques antes de publicar. Tu equipo puede trabajar en ramas para actualizar distintas partes de la documentación al mismo tiempo sin afectar lo que los usuarios ven en tu sitio en producción hasta que publiques los cambios.
+
+Recomendamos trabajar siempre con ramas al actualizar la documentación para mantener estable tu sitio en producción y habilitar flujos de revisión.
+
+
+ - Pon nombres claros a las ramas para que tus compañeros entiendan en qué estás trabajando.
+ - Elimina las ramas después de fusionarlas para mantener organizado tu repositorio.
+ - Informa a tu equipo cuando estés trabajando en cambios importantes que puedan afectar su trabajo.
+
+
+
+ ## Crear una rama
+
+
+1. Selecciona el nombre de la rama en la barra de herramientas del editor (generalmente `main` de forma predeterminada).
+2. Selecciona **New Branch**.
+3. Escribe un nombre descriptivo para la rama, como `update-getting-started` o `fix-api-examples`.
+4. Selecciona **Create Branch**.
+
+
+ ## Guardar cambios en una rama
+
+
+Para guardar tus cambios en una rama, selecciona el botón **Save Changes** en la esquina superior derecha del editor. Esto crea un commit y envía tu trabajo a tu rama.
+
+
+ ## Cambiar de rama
+
+
+1. Selecciona el nombre de la rama en la barra de herramientas del editor.
+2. Selecciona la rama a la que quieres cambiar en el menú desplegable.
+
+
+ Los cambios no guardados se perderán al cambiar de rama. Asegúrate de guardar o publicar tu trabajo antes de cambiar de rama.
+
\ No newline at end of file
diff --git a/es/editor/content-management.mdx b/es/editor/content-management.mdx
new file mode 100644
index 000000000..f33cf1595
--- /dev/null
+++ b/es/editor/content-management.mdx
@@ -0,0 +1,121 @@
+---
+title: "Gestión del contenido"
+description: "Crea, edita y organiza tus páginas de documentación"
+---
+
+
+ ## Navegación por tus archivos
+
+
+Usa el explorador de archivos de la barra lateral para recorrer tus archivos de documentación. Haz clic en cualquier archivo para abrirlo en el editor.
+
+Presiona Command + P (Ctrl + P en Windows) para buscar archivos por nombre.
+
+
+ ## Crear nuevas páginas
+
+
+
+
+ Selecciona el icono **Create a new file** en la barra lateral del explorador de archivos.
+
+
+
+
+
+ Los nombres de archivo deben terminar en `.mdx`. Por ejemplo, `api-reference.mdx` o `getting-started.mdx`.
+
+
+ Pulsa Enter para crear el archivo. Se abrirá automáticamente en el editor, listo para añadir contenido.
+
+
+
+
+ ## Organiza la navegación
+
+
+Agrega nuevas páginas a la navegación de tu sitio editando el archivo `docs.json`.
+
+
+
+ Busca y abre el archivo `docs.json` en el directorio raíz usando el explorador de archivos.
+
+
+ Encuentra el lugar en el archivo `docs.json` donde quieres agregar la nueva página.
+
+
+ Inserta el nombre de archivo de la página (sin la extensión `.mdx`) en el arreglo `pages` del grupo correspondiente.
+
+
+
+
+
+Realiza cambios en tus páginas usando el modo visual o el modo Markdown en el editor.
+
+En el modo visual, presiona / para abrir el menú de componentes. Agrega bloques de contenido, avisos, bloques de código y otros componentes para personalizar tu documentación.
+
+
+
+
+
+
+En el modo Markdown, puedes editar directamente el `MDX` de tus páginas. Esto puede ser útil cuando necesitas:
+
+- Definir propiedades específicas de los componentes
+- Trabajar con componentes anidados complejos
+- Copiar y pegar contenido `MDX` de otras fuentes
\ No newline at end of file
diff --git a/es/editor/getting-started.mdx b/es/editor/getting-started.mdx
new file mode 100644
index 000000000..b041ab7a4
--- /dev/null
+++ b/es/editor/getting-started.mdx
@@ -0,0 +1,92 @@
+---
+title: "Primeros pasos con el editor web"
+sidebarTitle: "Primeros pasos"
+description: "Aprende a crear y editar documentación con el editor web"
+---
+
+
+
+
+
+El editor web es una interfaz visual para crear, editar y revisar documentación directamente en tu navegador.
+
+* **Edición visual**: Realiza cambios en tu documentación con un editor WYSIWYG (lo que ves es lo que obtienes) que muestra cómo se verá tu contenido al publicarse.
+* **Sincronización con Git**: Todos los cambios se sincronizan automáticamente con tu repositorio de Git para mantener el control de versiones.
+* **Colaboración en equipo**: Varias personas pueden trabajar en la documentación simultáneamente.
+* **Integración de componentes**: Agrega avisos, bloques de código y otros componentes con comandos de barra inclinada.
+* **Sin configuración**: Comienza a escribir de inmediato desde tu panel.
+
+
+ ## Flujo de trabajo del Editor web
+
+
+Así es como normalmente trabajarás en el Editor web:
+
+
+
+ Crea una rama o realiza cambios directamente en tu rama de despliegue. Recomendamos crear una rama para que puedas previsualizar tus cambios antes de que se publiquen.
+
+
+
+ Navega a un archivo existente en la barra lateral o crea uno nuevo con el explorador de archivos.
+
+
+
+ Realiza cambios en el Editor web. Prueba alternar entre el modo visual y el modo Markdown usando el interruptor en la esquina superior derecha para ver qué modo prefieres.
+
+
+
+ El modo visual te muestra cómo aparecerán tus cambios en tu sitio en producción. Úsalo para verificar que todo se vea correcto.
+
+
+
+ Si estás trabajando en tu rama de despliegue, publica tus cambios directamente desde el Editor web. En otras ramas, crea una pull request para revisión antes de publicar.
+
+
+
+
+ ## Modos del editor
+
+
+El editor web tiene dos modos para adaptarse a distintas preferencias y necesidades de edición. Usa el conmutador en la esquina superior derecha de la barra de herramientas del editor para cambiar entre los modos de edición.
+
+
+
+
+
+
+
+
+ ### Modo visual
+
+
+El modo visual ofrece una experiencia WYSIWYG en la que los cambios que hagas en el editor son los que se publicarán en tu sitio de documentación. Este modo es ideal cuando quieres ver en tiempo real cómo se verán tus cambios.
+
+Pulsa `/` para abrir el menú de componentes y añadir contenido con estilo, avisos, fragmentos de código u otros componentes.
+
+
+
+
+
+
+
+
+ ### Modo Markdown
+
+
+El modo Markdown ofrece acceso directo al código `MDX` subyacente de tu documentación. Este modo es ideal cuando necesitas un control preciso sobre las propiedades de los componentes o cuando prefieres escribir con la sintaxis de Markdown.
+
+
+
+
+
+
+
+
+ ## Próximos pasos
+
+
+* Aprende los conceptos fundamentales de [Git](/es/editor/git-concepts).
+* Conoce las prácticas recomendadas para colaborar con [ramas](/es/editor/branches).
+* Explora la [gestión de contenido](/es/editor/content-management) con el Editor web.
+* Comprende las [opciones de publicación](/es/editor/publishing) para distintos escenarios.
\ No newline at end of file
diff --git a/es/editor/git-concepts.mdx b/es/editor/git-concepts.mdx
new file mode 100644
index 000000000..bb46ee9dd
--- /dev/null
+++ b/es/editor/git-concepts.mdx
@@ -0,0 +1,66 @@
+---
+title: "Conceptos de Git"
+description: "Aprende los fundamentos de Git para el flujo de trabajo de documentación como código"
+---
+
+Git es un sistema de control de versiones que te permite realizar un seguimiento de los cambios en tu documentación y colaborar con tu equipo. Con Git, para cada archivo de tu proyecto puedes ver qué cambió, cuándo y por qué. Git también facilita volver a versiones anteriores de los archivos cuando lo necesites.
+
+El editor web realiza algunas operaciones de Git en segundo plano. Entender estos conceptos te ayudará a trabajar de forma más eficaz con el editor web y a colaborar con miembros del equipo que trabajan en sus entornos de desarrollo locales.
+
+
+ ## Conceptos básicos de Git
+
+
+
+
+ El origen de tu documentación, donde se almacenan todos los archivos y su historial. El Editor web se conecta a tu repositorio para acceder y modificar el contenido.
+
+
+
+ Una instantánea guardada de tus cambios en un momento específico. Cada commit incluye un mensaje que describe lo que cambió y crea un registro permanente en el historial de tu proyecto.
+
+
+
+ Una rama apunta a un commit específico en tu repositorio. Tu documentación en producción se genera a partir de una rama de implementación. Puedes tener cualquier número de otras ramas con cambios que aún no se han publicado en tu documentación en producción. Si quieres incorporar los cambios de una rama en tu documentación en producción, puedes fusionarla en tu rama de implementación mediante una pull request.
+
+ Usa ramas para trabajar en cambios sin afectar tu documentación en producción, experimentar de forma segura con nuevas funciones y obtener revisiones antes de publicar.
+
+
+
+ La rama principal de tu proyecto a partir de la cual se genera el contenido de tu documentación en producción. Los cambios en esta rama se publican automáticamente en tu sitio de documentación. A menudo se llama `main`, pero puedes establecer cualquier rama como tu rama de implementación.
+
+
+
+ Una forma de proponer fusionar los cambios de una rama en tu documentación en producción. Permite revisar y debatir antes de que los cambios se publiquen. Se conoce comúnmente como PR y, en GitLab, como merge request.
+
+
+
+ Un diff (o diferencia) muestra los cambios entre dos versiones de un archivo. Al revisar pull requests, los diffs resaltan lo que se ha agregado, eliminado o modificado, lo que facilita identificar qué cambió.
+
+
+
+
+ ## Cómo utiliza Git el editor web
+
+
+El editor web se conecta a tu repositorio de Git a través de la [GitHub App](/es/settings/github) o la [integración con GitLab](/es/settings/gitlab) y automatiza operaciones comunes de Git.
+
+Cuando:
+
+* **Abres un archivo**: El editor obtiene la versión más reciente de tu repositorio, garantizando que siempre trabajes con contenido actualizado.
+* **Realizas cambios**: El editor registra tus cambios como un borrador que puede convertirse en un commit cuando estés listo para guardar tu trabajo.
+* **Guardas cambios**: El editor crea un commit con tus cambios, preservando tu trabajo en el historial del proyecto.
+* **Creas una rama**: El editor crea una nueva rama en tu repositorio que puede ser utilizada por cualquier persona con acceso al repositorio para colaborar y revisar los cambios.
+* **Publicas en tu rama de despliegue**: El editor hace commit y push directamente a tu rama de despliegue, lo que publica tus cambios de inmediato.
+* **Publicas en otras ramas**: El editor crea una pull request, lo que te permite recibir comentarios de otros antes de fusionar tus cambios en tu rama de despliegue.
+
+
+ ## Mejores prácticas de Git
+
+
+Cada equipo desarrollará sus propios flujos de trabajo y preferencias, pero estas son algunas prácticas generales para empezar.
+
+* **Escribe mensajes de commit descriptivos**: Sé específico sobre qué cambió y utiliza un lenguaje activo.
+* **Usa nombres de rama descriptivos**: Los nombres de las ramas deben explicar el trabajo que se está realizando y ser significativos para quien las consulte en tu repositorio.
+* **Mantén las ramas enfocadas**: Limita los cambios en una rama a una tarea o proyecto específico.
+* **Elimina las ramas después de hacer merge**: Borra las ramas cuando ya no las necesites para mantener tu repositorio ordenado.
\ No newline at end of file
diff --git a/es/editor/keyboard-shortcuts.mdx b/es/editor/keyboard-shortcuts.mdx
new file mode 100644
index 000000000..df5ee8981
--- /dev/null
+++ b/es/editor/keyboard-shortcuts.mdx
@@ -0,0 +1,27 @@
+---
+title: "Atajos de teclado"
+description: "Atajos del editor web"
+---
+
+El editor web admite todos los atajos de teclado habituales, como copiar, pegar, deshacer y seleccionar todo, además de los siguientes:
+
+| Comando | macOS | Windows |
+|:--------|:------|:--------|
+| **Buscar archivos** | Cmd + P | Control + P |
+| **Añadir enlace al texto seleccionado** | Cmd + K | Control + K |
+| **Insertar salto de línea** | Cmd + Enter | Control + Enter |
+| **Negrita** | Cmd + B | Control + B |
+| **Cursiva** | Cmd + I | Control + I |
+| **Subrayado** | Cmd + U | Control + U |
+| **Tachado** | Cmd + Shift + S | Control + Shift + S |
+| **Código** | Cmd + E | Control + E |
+| **Texto normal** | Cmd + Alt + 0 | Control + Alt + 0 |
+| **Encabezado 1** | Cmd + Alt + 1 | Control + Alt + 1 |
+| **Encabezado 2** | Cmd + Alt + 2 | Control + Alt + 2 |
+| **Encabezado 3** | Cmd + Alt + 3 | Control + Alt + 3 |
+| **Encabezado 4** | Cmd + Alt + 4 | Control + Alt + 4 |
+| **Lista numerada** | Cmd + Shift + 7 | Control + Shift + 7 |
+| **Lista con viñetas** | Cmd + Shift + 8 | Control + Shift + 8 |
+| **Cita en bloque** | Cmd + Shift + B | Control + Shift + B |
+| **Subíndice** | Cmd + , | Control + , |
+| **Superíndice** | Cmd + . | Control + . |
\ No newline at end of file
diff --git a/es/editor/publishing.mdx b/es/editor/publishing.mdx
new file mode 100644
index 000000000..20772945a
--- /dev/null
+++ b/es/editor/publishing.mdx
@@ -0,0 +1,79 @@
+---
+title: "Publicación de tus cambios"
+description: "Despliega las actualizaciones de tu documentación directamente a producción o mediante pull requests"
+---
+
+Cómo se publiquen tus cambios depende de la rama en la que estés trabajando:
+
+* **Rama de despliegue**: Publicar actualiza tu sitio en producción de inmediato.
+* **Otras ramas**: Publicar crea un pull request para que puedas revisar los cambios antes de desplegarlos en producción.
+
+
+
+
+
+
+
+ ## Pull requests y revisión de cambios
+
+
+Los pull requests te permiten proponer cambios desde tu rama para que otras personas los revisen antes de integrarlos en tu documentación en producción. Esto ayuda a garantizar que tus cambios sean correctos y le da a tu equipo la oportunidad de colaborar en el contenido.
+
+
+ Incluso si trabajas solo, los pull requests son útiles para previsualizar cambios y mantener un historial claro de actualizaciones.
+
+
+
+ ### Crear una pull request
+
+
+
+
+ Asegúrate de que todos tus cambios estén guardados en tu rama usando **Save Changes**.
+
+
+ Selecciona **Publish Pull Request** en la esquina superior derecha del editor.
+
+
+ Escribe un título y una descripción claros que expliquen:
+ - Qué cambios realizaste
+ - Por qué los hiciste
+ - Cualquier área específica que necesite revisión
+
+
+ Selecciona **Publish Pull Request**. El editor proporcionará un enlace para ver tu pull request.
+
+
+
+
+
+
+
+
+
+ ## Revisar pull requests
+
+
+Una vez creado el pull request:
+
+1. **Revisar cambios**: Tú y tu equipo pueden revisar el pull request en tu proveedor de Git, como GitHub o GitLab.
+2. **Dejar comentarios**: Agrega comentarios o solicita cambios.
+3. **Hacer cambios adicionales**: Realiza cambios adicionales en el Editor web. Al guardar, el editor los envía a tu pull request.
+4. **Aprobar**: Aprueba el pull request cuando estés satisfecho con los cambios.
+5. **Fusionar**: Fusiona el pull request cuando estés listo para desplegar tus cambios a producción.
\ No newline at end of file
diff --git a/es/editor/troubleshooting.mdx b/es/editor/troubleshooting.mdx
new file mode 100644
index 000000000..e692f1323
--- /dev/null
+++ b/es/editor/troubleshooting.mdx
@@ -0,0 +1,62 @@
+---
+title: "Solución de problemas del editor web"
+sidebarTitle: "Solución de problemas"
+description: "Soluciones a problemas comunes"
+---
+
+Encuentra soluciones a problemas comunes que puedes encontrar al usar el editor web.
+
+
+
+ **Posibles causas:**
+
+ * El despliegue aún está en curso
+ * Problemas de caché del navegador
+ * Errores de compilación o de despliegue
+
+ **Soluciones:**
+
+ 1. Revisa el estado del despliegue en tu panel.
+ 2. Actualiza forzosamente tu navegador (Ctrl + F5 o Cmd + Shift + R)
+ 3. Borra la caché de tu navegador.
+
+
+
+ **Posibles causas:**
+
+ * Permisos insuficientes en el repositorio de Git
+ * Problemas de autenticación con tu proveedor de Git
+
+ **Soluciones:**
+
+ 1. Verifica que tengas el acceso adecuado al repositorio.
+ 2. Comprueba si tu integración con Git está configurada correctamente.
+ 3. Revisa la documentación de [Permisos del editor](/es/advanced/dashboard/permissions).
+
+
+
+ **Posibles causas:**
+
+ * Problemas de conectividad de red
+ * Repositorios de documentación muy grandes
+
+ **Soluciones:**
+
+ 1. Verifica tu conexión a Internet.
+ 2. Actualiza la página.
+ 3. Contacta con soporte si el problema persiste.
+
+
+
+ **Posibles causas:**
+
+ * Sintaxis MDX no válida en los archivos
+ * Archivos faltantes o dañados
+ * Archivos de gran tamaño que provocan tiempos de espera
+
+ **Soluciones:**
+
+ 1. Revisa la sintaxis del archivo para detectar errores de formato MDX.
+ 2. Verifica que el archivo exista en tu repositorio.
+
+
\ No newline at end of file
diff --git a/es/guides/assistant.mdx b/es/guides/assistant.mdx
new file mode 100644
index 000000000..7c0ebd984
--- /dev/null
+++ b/es/guides/assistant.mdx
@@ -0,0 +1,156 @@
+---
+title: "Asistente"
+description: "Ayuda a los usuarios a sacar el máximo partido de tu producto y a encontrar respuestas más rápido"
+icon: "bot"
+---
+
+
+ El Asistente se habilita automáticamente en los [planes Pro y Custom](https://mintlify.com/pricing?ref=assistant).
+
+
+
+ ## Acerca del asistente
+
+
+El Asistente responde preguntas sobre tu documentación mediante consultas en lenguaje natural. Está integrado directamente en tu sitio de documentación, brindando a los usuarios acceso inmediato a ayuda contextual.
+
+El Asistente utiliza RAG agentivo (generación aumentada por recuperación) con llamadas a herramientas, impulsado por Claude Sonnet 4. Cuando los usuarios hacen preguntas, el Asistente:
+
+* **Busca y recupera** contenido relevante de tu documentación para ofrecer respuestas precisas.
+* **Cita las fuentes** y proporciona enlaces navegables que llevan a los usuarios directamente a las páginas de referencia.
+* **Genera ejemplos de código para copiar** que ayudan a los usuarios a implementar soluciones a partir de tu documentación.
+
+Cada mensaje enviado al Asistente cuenta para el cupo de mensajes de tu plan. Si superas tu cupo, los mensajes adicionales generarán cargos por excedente. Puedes establecer límites de gasto o desactivar el Asistente si alcanzas tu cupo de mensajes.
+
+Puedes ver el uso del Asistente en tu panel para comprender el comportamiento de los usuarios y la efectividad de la documentación. Exporta y analiza los datos de las consultas para ayudar a identificar:
+
+* Preguntas frecuentes que podrían necesitar mejor cobertura.
+* Vacíos de contenido donde los usuarios tienen dificultades para encontrar respuestas.
+* Temas populares que podrían beneficiarse de contenido adicional.
+
+
+ ## Configuración del asistente
+
+
+El Asistente está habilitado de forma predeterminada para los planes Pro y Custom. Puedes administrarlo desde tu [panel](https://dashboard.mintlify.com/products/assistant/settings), donde puedes activarlo o desactivarlo, configurar el manejo de respuestas y establecer un límite de gasto.
+
+
+ ### Estado del Asistente
+
+
+Alterna el estado del Asistente para habilitarlo o deshabilitarlo en tu sitio de documentación.
+
+
+ ### Desvío del Asistente
+
+
+Permite que el Asistente redirija las preguntas sin respuesta a tu equipo de soporte. Proporciona una dirección de correo electrónico que el Asistente compartirá con los usuarios que hagan preguntas a las que no pueda responder.
+
+
+ ### Búsqueda en sitios
+
+
+
+ La búsqueda en sitios está en beta. Para habilitarla en tu sitio de documentación, [contacta a nuestro equipo de ventas](mailto:gtm@mintlify.com).
+
+
+Configura los sitios que el Asistente puede consultar para obtener contexto adicional al responder preguntas.
+
+* Los sitios deben ser de acceso público.
+* Los sitios que requieren JavaScript para cargar no son compatibles.
+
+Puedes usar la siguiente sintaxis de filtrado al configurar sitios externos:
+
+* **Filtrado a nivel de dominio**
+ * `example.com`: Buscar solo en el dominio `example.com`
+ * `docs.example.com`: Buscar solo en el subdominio `docs.example.com`
+ * `*.example.com`: Buscar todos los subdominios de `example.com`
+* **Filtrado a nivel de ruta**
+ * `docs.example.com/api`: Buscar todas las páginas bajo la subruta `/api`
+* **Varios patrones**
+ * Agrega varias entradas para apuntar a diferentes secciones de los sitios
+
+
+ ### Límite de gasto
+
+
+Establece un límite de gasto para controlar qué sucede si alcanzas tu cupo de mensajes. De forma predeterminada, el Asistente seguirá respondiendo preguntas de los usuarios después de que alcances tu cupo, lo que genera cargos por excedente.
+
+En la pestaña **Billing** de la página [Assistant Configurations](https://dashboard.mintlify.com/products/assistant/settings), puedes establecer un límite de gasto para los mensajes del Asistente que superen tu cupo. Cuando alcanzas tu límite de gasto, el Asistente se deshabilita hasta que tu cupo de mensajes se restablezca.
+
+También puedes configurar alertas de uso para recibir un correo electrónico cuando alcances un porcentaje determinado de tu límite de gasto.
+
+
+ ## Uso del Asistente
+
+
+Los usuarios pueden acceder al Asistente de tres maneras:
+
+* **Atajos de teclado**: ? o Command + I (Ctrl + I en Windows)
+* **Botón del Asistente** junto a la barra de búsqueda
+
+
+* **URLs** con `?assistant=open` al final abrirán el Asistente cuando cargue la página. Por ejemplo, [https://mintlify.com/docs?assistant=open](https://mintlify.com/docs?assistant=open).
+
+Todos los métodos abren un panel de chat en el lado derecho de tu documentación. Los usuarios pueden hacer cualquier pregunta y el Asistente buscará en tu documentación una respuesta. Si no se encuentra información relevante, el Asistente responderá que no puede responder la pregunta.
+
+
+ ## Hacer que el contenido sea apto para la ingesta por IA
+
+
+Estructura tu documentación para ayudar al Asistente a ofrecer respuestas precisas y relevantes. Una organización clara y un contexto completo benefician tanto a las personas lectoras como a la comprensión de la IA.
+
+
+ * Usa marcado semántico.
+ * Escribe encabezados descriptivos para las secciones.
+ * Crea una jerarquía lógica de información.
+ * Usa un formato coherente en toda tu documentación.
+ * Incluye metadatos completos en el frontmatter de la página.
+ * Divide los bloques largos de texto en párrafos más cortos.
+
+
+
+ * Define términos y siglas específicas la primera vez que aparezcan.
+ * Proporciona suficiente contenido conceptual sobre funcionalidades y procedimientos.
+ * Incluye ejemplos y casos de uso.
+ * Crea referencias cruzadas a temas relacionados.
+ * Agrega [páginas ocultas](/es/guides/hidden-pages) con contexto adicional que las personas usuarias no necesitan, pero a las que el Asistente puede recurrir.
+
+
+
+ ## Exportar y analizar consultas
+
+
+Revisa y exporta consultas desde tu panel para entender cómo las personas interactúan con tu documentación e identificar oportunidades de mejora. Algunas maneras en que el análisis de consultas puede ayudarte a mejorar tu documentación:
+
+* Identifica brechas de contenido donde las consultas frecuentes reciben respuestas insuficientes.
+* Descubre patrones de comportamiento de los usuarios y necesidades de información comunes a partir de los temas y patrones en las consultas.
+* Prioriza las páginas con mayor tráfico para mejorar su precisión y calidad.
+
+Puedes explorar consultas desde tu [panel](https://dashboard.mintlify.com/products/assistant), pero para obtener información más sólida te recomendamos exportar un archivo `CSV` con tus consultas, respuestas y fuentes para analizarlo con tu herramienta de IA preferida.
+
+1. Ve a la [página del Asistente](https://dashboard.mintlify.com/products/assistant) en tu panel.
+2. Selecciona **Export to CSV**.
+3. Analiza los datos exportados con tu herramienta preferida.
+
+
+ * Resume los temas más comunes de las consultas.
+ * Enumera las consultas que no tengan fuentes citadas.
+ * Encuentra patrones en interacciones fallidas.
+
\ No newline at end of file
diff --git a/es/guides/auth0.mdx b/es/guides/auth0.mdx
new file mode 100644
index 000000000..b26b6634c
--- /dev/null
+++ b/es/guides/auth0.mdx
@@ -0,0 +1,60 @@
+---
+title: "Uso de Auth0 con el flujo de OAuth"
+description: "Si Auth0 es la fuente de verdad para los datos de tus usuarios, puedes configurar Mintlify como una aplicación cliente de OAuth para autenticar a tus usuarios."
+---
+
+
+ **Descargo de responsabilidad de seguridad**: Si bien proporcionamos esta guía para ayudarte a integrar Auth0 con Mintlify, consulta con tu equipo de seguridad antes de implementar cualquier solución de autenticación. Mintlify no se hace responsable de los problemas de seguridad que puedan surgir de tu implementación específica.
+
+
+
+ ## Descripción general
+
+
+Esta guía te acompaña paso a paso para configurar Auth0 como proveedor de autenticación para tu documentación de Mintlify. Al finalizar, tus usuarios podrán iniciar sesión en tu documentación con sus credenciales de Auth0.
+
+
+
+ Inicia sesión en tu panel de Auth0 y navega a **Applications** > **Applications**. Haz clic en el botón **Create Application**, asigna un nombre a tu aplicación (por ejemplo, "Mintlify") y selecciona **Regular Web Applications** como tipo de aplicación. Luego haz clic en **Create**.
+
+ 
+
+
+ Después de crear tu aplicación, accederás a la página de configuración de la aplicación. Aquí encontrarás las credenciales esenciales necesarias para la integración con OAuth:
+
+ 
+
+ Toma nota de la siguiente información:
+ - **Domain**: El dominio de tu tenant de Auth0 (por ejemplo, `your-tenant.auth0.com`)
+ - **Client ID**: El identificador público de tu aplicación
+ - **Client Secret**: La clave secreta de tu aplicación (manténla segura)
+
+ Necesitarás estos valores para configurar Mintlify en el siguiente paso.
+
+
+ Navega a tu panel de Mintlify y ve a **Settings** > **Authentication**. Selecciona **OAuth** como método de autenticación y verás el formulario de configuración de OAuth:
+
+ 
+
+ Completa el formulario con los siguientes valores:
+
+ - **Authorization URL**: `https://YOUR_AUTH0_DOMAIN/authorize` (reemplaza `YOUR_AUTH0_DOMAIN` por tu dominio de Auth0 del paso 2)
+ - **Client ID**: Ingresa el Client ID de tu aplicación de Auth0
+ - **Client Secret**: Ingresa el Client Secret de tu aplicación de Auth0
+ - **Scopes**: Déjalo en blanco a menos que tengas scopes personalizados en Auth0
+ - **Token URL**: `https://YOUR_AUTH0_DOMAIN/oauth/token` (reemplaza `YOUR_AUTH0_DOMAIN` por tu dominio de Auth0)
+
+ Después de completar estos datos, haz clic en **Save changes** para guardar la configuración de OAuth.
+
+
+ Mintlify generará una URL de redirección única que Auth0 debe reconocer para que el flujo de OAuth funcione correctamente.
+
+ Copia la URL de redirección desde la configuración de Authentication en tu panel de Mintlify:
+ 
+
+ Vuelve a la página de configuración de tu aplicación en Auth0, desplázate hasta la sección **Application URIs** y pega la URL de redirección en el campo **Allowed Callback URLs**:
+ 
+
+ Haz clic en **Save Changes** en la parte inferior de la página de Auth0 para aplicar esta configuración.
+
+
\ No newline at end of file
diff --git a/es/guides/changelogs.mdx b/es/guides/changelogs.mdx
new file mode 100644
index 000000000..25e5e0354
--- /dev/null
+++ b/es/guides/changelogs.mdx
@@ -0,0 +1,146 @@
+---
+title: "Registros de cambios"
+description: "Publica actualizaciones de producto en tu documentación con un canal RSS al que los usuarios pueden suscribirse"
+icon: "newspaper"
+---
+
+Crea un registro de cambios para tu documentación añadiendo [componentes de actualización](/es/components/update) a una página.
+
+Consulta el [registro de cambios de Mintlify](/es/changelog) como ejemplo: en cada actualización puedes incluir enlaces, imágenes, texto y demostraciones de tus nuevas funciones.
+
+
+ ## Configurar tu registro de cambios
+
+
+
+
+ 1. Crea una nueva página en tu documentación, como `changelog.mdx` o `updates.mdx`.
+ 2. Agrega la página del registro de cambios a tu esquema de navegación en `docs.json`.
+
+
+
+ Agrega un `Update` por cada entrada del registro de cambios.
+
+ Incluye información relevante como lanzamientos de funciones, correcciones de errores u otros anuncios.
+
+
+
+```mdx Ejemplo de changelog.mdx
+---
+title: "Registro de cambios"
+description: "Actualizaciones y anuncios del producto"
+---
+
+ Se añadió un nuevo sabor a Wintergreen.
+
+ Se lanzó una nueva versión del sabor Spearmint, ahora con un 10% más de menta.
+
+
+
+ Se lanzó una nueva versión del sabor Spearmint.
+
+```
+
+
+ ## Personalizar el registro de cambios
+
+
+Controla cómo las personas navegan por tu registro de cambios y se mantienen al día con la información de tu producto.
+
+
+ ### Tabla de contenidos
+
+
+Cada propiedad `label` de un `Update` crea automáticamente una entrada en la tabla de contenidos de la barra lateral derecha. Esta es la navegación predeterminada de tu registro de cambios.
+
+
+
+
+
+
+
+
+ ### Filtros por etiquetas
+
+
+Agrega `tags` a tus componentes `Update` para sustituir la tabla de contenidos por filtros de etiquetas. Los usuarios pueden filtrar el registro de cambios seleccionando una o más etiquetas:
+
+```mdx Ejemplo de ajuste de filtros por etiquetas
+
+ Se añadió un nuevo sabor Wintergreen.
+
+ Se publicó una nueva versión del sabor Spearmint, ahora con un 10% más de menta.
+
+
+
+ Se publicó una nueva versión del sabor Spearmint.
+
+
+
+ Se retiró el sabor Peppermint.
+
+ Se publicó una nueva versión del sabor Spearmint.
+
+```
+
+
+
+
+
+
+
+
+ La tabla de contenido y los filtros del registro de cambios se ocultan cuando se usan los modos de página `custom`, `center` o `wide`. Más información sobre los [modos de página](/es/pages#page-mode).
+
+
+
+ ### Registros de cambios con suscripción
+
+
+Usar componentes `Update` crea un feed RSS al que te puedes suscribir en la URL de tu página con `/rss.xml` agregado. Por ejemplo, `mintlify.com/docs/changelog/rss.xml`.
+
+Las entradas se agregan al feed RSS cuando se publican nuevos componentes `Update` y cuando se agregan nuevos encabezados dentro de etiquetas `` existentes.
+
+Los encabezados de nivel superior de los componentes `Update` se usan como títulos de las entradas del feed RSS y estas enlazan a sus anclas de encabezado en tu documentación.
+
+```xml Ejemplo de fuente RSS
+
+
+
+
+
+ https://mintlify.com/docs
+ RSS for Node
+ Mon, 21 Jul 2025 21:21:47 GMT
+
+
+ https://mintlify.com/docs
+
+
+ https://mintlify.com/docs/changelog#june-2025
+ https://mintlify.com/docs/changelog#june-2025
+ Mon, 23 Jun 2025 16:54:22 GMT
+
+
+
+```
+
+Los feeds RSS pueden integrarse con Slack, correo electrónico u otras herramientas de suscripción para notificar a los usuarios sobre cambios en el producto. Algunas opciones incluyen:
+
+* [Slack](https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack)
+* [Email](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email) mediante Zapier
+* Bots de Discord como [Readybot](https://readybot.io) o [RSS Feeds to Discord Bot](https://rss.app/en/bots/rssfeeds-discord-bot)
+
+Para que el feed RSS sea fácil de descubrir, puedes mostrar un botón con el ícono de RSS que enlace al feed en la parte superior de la página. Agrega `rss: true` al frontmatter de la página:
+
+```mdx
+---
+rss: true
+---
+```
+
+
+
+
+
+
diff --git a/es/guides/claude-code.mdx b/es/guides/claude-code.mdx
new file mode 100644
index 000000000..3f9982bd2
--- /dev/null
+++ b/es/guides/claude-code.mdx
@@ -0,0 +1,179 @@
+---
+title: "Claude Code"
+description: "Configura Claude Code para ayudar a escribir, revisar y actualizar tu documentación"
+icon: "asterisk"
+---
+
+Claude Code es una herramienta de línea de comandos con capacidades de agente que puede ayudarte a mantener tu documentación. Puede redactar contenido nuevo, revisar páginas existentes y mantener la documentación al día.
+
+Puedes entrenar a Claude Code para que comprenda tus estándares y flujos de trabajo de documentación añadiendo un archivo `CLAUDE.md` a tu proyecto y afinándolo con el tiempo.
+
+
+
+
+ ## Primeros pasos
+
+
+**Requisitos previos:**
+
+* Suscripción activa a Claude (Pro, Max o acceso mediante API)
+
+**Configuración:**
+
+1. Instala Claude Code:
+
+```bash
+npm install -g @anthropic-ai/claude-code
+```
+
+2. Ve al directorio de tus docs.
+3. (Opcional) Añade el archivo `CLAUDE.md` que aparece a continuación a tu proyecto.
+4. Ejecuta `claude` para empezar.
+
+
+
+ ## Plantilla de CLAUDE.md
+
+
+Guarda un archivo `CLAUDE.md` en la raíz de tu directorio de documentación para ayudar a Claude Code a comprender tu proyecto. Este archivo entrena a Claude Code en tus estándares de documentación, preferencias y flujos de trabajo. Consulta [Manage Claude's memory](https://docs.anthropic.com/en/docs/claude-code/memory) en la documentación de Anthropic para obtener más información.
+
+Copia esta plantilla de ejemplo o ajústala según las especificaciones de tu documentación:
+
+```mdx
+# Documentación de Mintlify
+
+## Relación de trabajo
+- Puedes cuestionar ideas; esto puede llevar a una mejor documentación. Cita fuentes y explica tu razonamiento cuando lo hagas
+- SIEMPRE pide aclaraciones en lugar de hacer suposiciones
+- NUNCA mientas, adivines ni inventes información
+
+## Contexto del proyecto
+- Formato: archivos MDX con frontmatter YAML
+- Configuración: docs.json para navegación, tema y ajustes
+- Componentes: componentes de Mintlify
+
+## Estrategia de contenido
+- Documenta lo suficiente para el éxito del usuario: ni demasiado ni demasiado poco
+- Prioriza la precisión y la utilidad de la información
+- Haz el contenido perenne cuando sea posible
+- Busca información existente antes de añadir contenido nuevo. Evita la duplicación salvo por un motivo estratégico
+- Revisa los patrones existentes para mantener la coherencia
+- Empieza realizando los cambios razonables más pequeños
+
+## docs.json
+
+- Consulta el [esquema de docs.json](https://mintlify.com/docs.json) al crear el archivo docs.json y la navegación del sitio
+
+## Requisitos de frontmatter para páginas
+- title: Título claro y descriptivo de la página
+- description: Resumen conciso para SEO/navegación
+
+## Estándares de redacción
+- Voz en segunda persona ("tú")
+- Prerrequisitos al inicio del contenido procedimental
+- Prueba todos los ejemplos de código antes de publicar
+- Adapta el estilo y formato al de las páginas existentes
+- Incluye casos de uso básicos y avanzados
+- Etiquetas de idioma en todos los bloques de código
+- Texto alternativo en todas las imágenes
+- Rutas relativas para los enlaces internos
+
+## Flujo de trabajo con Git
+- NUNCA uses --no-verify al hacer commits
+- Pregunta cómo manejar los cambios no confirmados antes de empezar
+- Crea una nueva rama cuando no exista una rama clara para los cambios
+- Haz commits con frecuencia durante el desarrollo
+- NUNCA omitas ni desactives los hooks de pre-commit
+
+## No hacer
+- Omitir el frontmatter en cualquier archivo MDX
+- Usar URL absolutas para enlaces internos
+- Incluir ejemplos de código no probados
+- Hacer suposiciones: siempre pide aclaraciones
+```
+
+
+
+ ## Prompts de ejemplo
+
+
+Una vez que tengas configurado Claude Code, prueba estos prompts para ver cómo puede ayudar con tareas comunes de documentación. Puedes copiar y pegar estos ejemplos directamente o adaptarlos a tus necesidades específicas.
+
+
+ ### Convertir notas en documentación de calidad
+
+
+Convierte borradores en páginas Markdown bien estructuradas, con componentes y frontmatter.
+
+**Prompt de ejemplo:**
+
+```text ajustar
+Convierte este texto en una página MDX con el formato correcto: [pega tu texto aquí]
+```
+
+
+ ### Revisar la documentación en busca de coherencia
+
+
+Obtén sugerencias para mejorar el estilo, el formato y el uso de componentes.
+
+**Ejemplo de indicación:**
+
+```text ajustar
+Revisa los archivos en docs/ y sugiere mejoras para mejorar la consistencia y la claridad
+```
+
+
+ ### Actualiza la documentación cuando cambien las funcionalidades
+
+
+Mantén la documentación al día a medida que tu producto evoluciona.
+
+**Ejemplo de prompt:**
+
+```text ajustar
+Nuestra API ahora requiere un parámetro de versión. Actualiza nuestra documentación para incluir version=2024-01 en todos los ejemplos
+```
+
+
+ ### Genera ejemplos de código completos
+
+
+Crea ejemplos en varios lenguajes con manejo de errores.
+
+**Ejemplo de prompt:**
+
+```text ajustar
+Crea ejemplos de código para [tu endpoint de API] en JavaScript, Python y cURL con gestión de errores
+```
+
+
+
+ ## Extender Claude Code
+
+
+Además de interactuar manualmente con Claude Code, puedes integrarlo en tus flujos de trabajo existentes.
+
+
+ ### Automatización con GitHub Actions
+
+
+Ejecuta Claude Code automáticamente cuando haya cambios en el código para mantener la documentación al día. Puedes activar revisiones de documentación en pull requests o actualizar ejemplos cuando se detecten cambios en la API.
+
+
+ ### Flujos de trabajo con múltiples instancias
+
+
+Usa sesiones separadas de Claude Code para distintas tareas: una para redactar contenido nuevo y otra para revisión y aseguramiento de la calidad. Esto ayuda a mantener la coherencia y a detectar problemas que una sola sesión podría pasar por alto.
+
+
+ ### Colaboración en equipo
+
+
+Comparte tu archivo `CLAUDE.md` refinado con tu equipo para garantizar estándares de documentación consistentes entre todos los colaboradores. Los equipos suelen desarrollar prompts y flujos de trabajo específicos del proyecto que pasan a formar parte de su proceso de documentación.
+
+
+ ### Comandos personalizados
+
+
+Crea comandos reutilizables con barra en `.claude/commands/` para tareas de documentación frecuentes específicas de tu proyecto o equipo.
diff --git a/es/guides/csp-configuration.mdx b/es/guides/csp-configuration.mdx
new file mode 100644
index 000000000..24e22ce83
--- /dev/null
+++ b/es/guides/csp-configuration.mdx
@@ -0,0 +1,157 @@
+---
+title: "Configuración de Content Security Policy (CSP)"
+sidebarTitle: "Configuración de CSP"
+description: "Lista de dominios permitidos y configuración de encabezados para proxies inversos, firewalls y redes que aplican políticas de seguridad estrictas"
+---
+
+Content Security Policy (CSP) es un estándar de seguridad que ayuda a prevenir ataques de cross-site scripting (XSS) al controlar qué recursos puede cargar una página web. Mintlify sirve una CSP predeterminada que protege a la mayoría de los sitios. Si alojas tu documentación detrás de un proxy inverso o firewall que sobrescribe la CSP predeterminada, es posible que debas configurar los encabezados CSP para que las funciones operen correctamente.
+
+
+ ## Directivas CSP
+
+
+Las siguientes directivas de CSP se utilizan para controlar qué recursos se pueden cargar:
+
+- `script-src`: Controla qué scripts se pueden ejecutar
+- `style-src`: Controla qué hojas de estilo se pueden cargar
+- `font-src`: Controla qué fuentes se pueden cargar
+- `img-src`: Controla qué imágenes, iconos y logotipos se pueden cargar
+- `connect-src`: Controla con qué URLs se puede establecer conexión para llamadas de API y conexiones WebSocket
+- `frame-src`: Controla qué URLs se pueden incrustar en marcos o iframes
+- `default-src`: Valor predeterminado para otras directivas cuando no se establece explícitamente
+
+
+ ## Lista de permitidos de dominios
+
+
+| Dominio | Propósito | Directiva CSP | Obligatorio |
+|:-------|:--------|:--------------|:-------|
+| `d4tuoctqmanu0.cloudfront.net` | CSS y fuentes de KaTeX | `style-src`, `font-src` | Obligatorio |
+| `*.mintlify.dev` | Contenido de documentación | `connect-src`, `frame-src` | Obligatorio |
+| `*.mintlify.com` | Panel, API, proxy de analíticas | `connect-src` | Obligatorio |
+| `leaves.mintlify.com` | API del Asistente | `connect-src` | Obligatorio |
+| `d3gk2c5xim1je2.cloudfront.net` | Iconos, imágenes, logotipos | `img-src` | Obligatorio |
+| `d1ctpt7j8wusba.cloudfront.net` | Archivos de versiones y lanzamientos de Mint | `connect-src` | Obligatorio |
+| `mintcdn.com` | Imágenes, favicons | `img-src`, `connect-src` | Obligatorio |
+| `*.mintcdn.com` | Imágenes, favicons | `img-src`, `connect-src` | Obligatorio |
+| `api.mintlifytrieve.com` | API de búsqueda | `connect-src` | Obligatorio |
+| `cdn.jsdelivr.net` | Recursos de emoji para imágenes OG | `script-src`, `img-src` | Obligatorio |
+| `fonts.googleapis.com` | Google Fonts | `style-src`, `font-src` | Opcional |
+| `www.googletagmanager.com` | Google Analytics/GTM | `script-src`, `connect-src` | Opcional |
+| `cdn.segment.com` | Analíticas de Segment | `script-src`, `connect-src` | Opcional |
+| `plausible.io` | Analíticas de Plausible | `script-src`, `connect-src` | Opcional |
+| `us.posthog.com` | Analíticas de PostHog | `connect-src` | Opcional |
+| `cdn.getkoala.com` | Analíticas de Koala | `script-src` | Opcional |
+| `tag.clearbitscripts.com` | Seguimiento de Clearbit | `script-src` | Opcional |
+| `cdn.heapanalytics.com` | Analíticas de Heap | `script-src` | Opcional |
+| `chat.cdn-plain.com` | Widget de chat de Plain | `script-src` | Opcional |
+| `chat-assets.frontapp.com` | Widget de chat de Front | `script-src` | Opcional |
+| `browser.sentry-cdn.com` | Seguimiento de errores de Sentry | `script-src`, `connect-src` | Opcional |
+| `js.sentry-cdn.com` | SDK de JavaScript de Sentry | `script-src` | Opcional |
+
+
+ ## Ejemplo de configuración de CSP
+
+
+
+ Incluye únicamente los dominios de los servicios que uses. Elimina cualquier dominio de analítica que no hayas configurado para tu documentación.
+
+
+```text wrap
+Content-Security-Policy:
+default-src 'self';
+script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net www.googletagmanager.com cdn.segment.com plausible.io
+us.posthog.com cdn.getkoala.com tag.clearbitscripts.com cdn.heapanalytics.com chat.cdn-plain.com chat-assets.frontapp.com
+browser.sentry-cdn.com js.sentry-cdn.com;
+style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
+font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
+img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net;
+connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com
+api.mintlifytrieve.com www.googletagmanager.com cdn.segment.com plausible.io us.posthog.com browser.sentry-cdn.com;
+frame-src 'self' *.mintlify.dev;
+```
+
+
+
+ ## Configuraciones comunes por tipo de proxy
+
+
+La mayoría de los proxies inversos permiten añadir encabezados personalizados.
+
+
+ ### Configuración de Cloudflare
+
+
+Crea una regla de transformación de encabezados de respuesta:
+
+1. En tu panel de Cloudflare, ve a **Rules > Overview**.
+2. Selecciona **Create rule > Response Header Transform Rule**.
+3. Configura la regla:
+
+- **Modify response header**: Fijar estático
+ - **Header name**: `Content-Security-Policy`
+ - **Header value**:
+ ```text wrap
+ default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;
+ ```
+
+4. Implementa la regla.
+
+
+
+Identifica infracciones de CSP en la consola de tu navegador:
+
+1. Abre las herramientas de desarrollador de tu navegador.
+2. Ve a la pestaña **Console**.
+3. Busca errores que comiencen con:
+ - `Content Security Policy: The page's settings blocked the loading of a resource`
+ - `Refused to load the script/stylesheet because it violates the following Content Security Policy directive`
+ - `Refused to connect to because it violates the following Content Security Policy directive`
\ No newline at end of file
diff --git a/es/guides/cursor.mdx b/es/guides/cursor.mdx
new file mode 100644
index 000000000..f2c5abdbc
--- /dev/null
+++ b/es/guides/cursor.mdx
@@ -0,0 +1,445 @@
+---
+title: "Cursor"
+description: "Configura Cursor como tu asistente de redacción"
+icon: "box"
+---
+
+Convierte a Cursor en un experto en documentación que conozca tus componentes, tu guía de estilo y tus mejores prácticas.
+
+
+
+
+ ## Usar Cursor con Mintlify
+
+
+Las reglas de Cursor proporcionan contexto persistente sobre tu documentación, lo que garantiza sugerencias más coherentes y alineadas con tus estándares y estilo.
+
+* **Reglas de proyecto**: se almacenan en el repositorio de tu documentación y se comparten con tu equipo.
+* **Reglas de usuario**: se aplican a tu entorno personal de Cursor.
+
+Recomendamos crear reglas de proyecto para tu documentación, de modo que todas las personas colaboradoras tengan acceso a las mismas reglas.
+
+Crea archivos de reglas en el directorio `.cursor/rules` del repositorio de tu documentación. Consulta la [documentación de Cursor Rules](https://docs.cursor.com/context/rules) para ver las instrucciones completas de configuración.
+
+
+
+
+ ## Regla de proyecto de ejemplo
+
+
+Esta regla ofrece a Cursor el contexto necesario para formatear correctamente los componentes de Mintlify y seguir las mejores prácticas de redacción técnica.
+
+Puedes usar este ejemplo tal cual o personalizarlo para tu documentación:
+
+* **Estándares de redacción**: Actualiza las pautas lingüísticas para que se ajusten a tu guía de estilo.
+* **Patrones de componentes**: Añade componentes específicos del proyecto o modifica los ejemplos existentes.
+* **Ejemplos de código**: Sustituye los ejemplos genéricos por llamadas y respuestas reales de la API de tu producto.
+* **Preferencias de estilo y tono**: Ajusta la terminología, el formato y otras reglas.
+
+Añade esta regla, con cualquier modificación, como un archivo `.mdc` en el directorio `.cursor/rules` de tu repositorio de documentación.
+
+
+
+````mdx envolver
+# Regla de redacción técnica de Mintlify
+
+Eres un asistente de redacción con IA especializado en crear documentación técnica excepcional usando componentes de Mintlify y siguiendo prácticas líderes de redacción técnica en la industria.
+
+## Principios básicos de redacción
+
+### Requisitos de lenguaje y estilo
+
+- Usa un lenguaje claro y directo, apropiado para audiencias técnicas
+- Escribe en segunda persona ("tú") para instrucciones y procedimientos
+- Prefiere la voz activa sobre la pasiva
+- Emplea el presente para estados actuales y el futuro para resultados
+- Evita la jerga salvo que sea necesaria y define los términos la primera vez que se usen
+- Mantén una terminología consistente en toda la documentación
+- Mantén oraciones concisas y proporciona el contexto necesario
+- Usa estructuras paralelas en listas, encabezados y procedimientos
+
+### Estándares de organización del contenido
+
+- Comienza con la información más importante (estructura de pirámide invertida)
+- Aplica divulgación progresiva: conceptos básicos antes que los avanzados
+- Divide los procedimientos complejos en pasos numerados
+- Incluye prerrequisitos y contexto antes de las instrucciones
+- Indica los resultados esperados para cada paso principal
+- Usa encabezados descriptivos y ricos en palabras clave para navegación y SEO
+- Agrupa la información relacionada de forma lógica con separaciones claras de sección
+
+### Enfoque centrado en el usuario
+
+- Enfócate en los objetivos y resultados del usuario en lugar de las funciones del sistema
+- Anticipa preguntas comunes y abórdalas proactivamente
+- Incluye solución de problemas para puntos de fallo probables
+- Optimiza para lectura en diagonal con encabezados claros, listas y espacios en blanco
+- Incluye pasos de verificación para confirmar el éxito
+
+## Referencia de componentes de Mintlify
+
+### docs.json
+
+- Consulta el [esquema de docs.json](https://mintlify.com/docs.json) al crear el archivo docs.json y la navegación del sitio
+
+### Componentes de aviso
+
+#### Nota - Información adicional útil
+
+
+Información complementaria que respalda el contenido principal sin interrumpir el flujo
+
+
+#### Consejo - Mejores prácticas y trucos
+
+
+Consejos de expertos, atajos o mejores prácticas que aumentan el éxito del usuario
+
+
+#### Advertencia - Precauciones importantes
+
+
+Información crítica sobre posibles problemas, cambios incompatibles o acciones destructivas
+
+
+#### Info - Información contextual neutral
+
+
+Información de fondo, contexto o anuncios neutrales
+
+
+#### Verificación - Confirmaciones de éxito
+
+
+Confirmaciones positivas, finalizaciones exitosas o indicadores de logro
+
+
+### Componentes de código
+
+#### Bloque de código único
+
+Ejemplo de un bloque de código único:
+
+```javascript config.js
+const apiConfig = {
+ baseURL: 'https://api.example.com',
+ timeout: 5000,
+ headers: {
+ 'Authorization': `Bearer ${process.env.API_TOKEN}`
+ }
+};
+```
+
+#### Grupo de código con varios lenguajes
+
+Ejemplo de un grupo de código:
+
+
+```javascript Node.js
+const response = await fetch('/api/endpoint', {
+ headers: { Authorization: `Bearer ${apiKey}` }
+});
+```
+
+```python Python
+import requests
+response = requests.get('/api/endpoint',
+ headers={'Authorization': f'Bearer {api_key}'})
+```
+
+```curl cURL
+curl -X GET '/api/endpoint' \
+ -H 'Authorization: Bearer YOUR_API_KEY'
+```
+
+
+#### Ejemplos de solicitud/respuesta
+
+Ejemplo de documentación de solicitud/respuesta:
+
+
+```bash cURL
+curl -X POST 'https://api.example.com/users' \
+ -H 'Content-Type: application/json' \
+ -d '{"name": "John Doe", "email": "john@example.com"}'
+```
+
+
+
+```json Éxito
+{
+ "id": "user_123",
+ "name": "John Doe",
+ "email": "john@example.com",
+ "created_at": "2024-01-15T10:30:00Z"
+}
+```
+
+
+### Componentes estructurales
+
+#### Pasos para procedimientos
+
+Ejemplo de instrucciones paso a paso:
+
+
+
+ Ejecuta `npm install` para instalar los paquetes requeridos.
+
+
+ Verifica la instalación ejecutando `npm list`.
+
+
+
+
+ Crea un archivo `.env` con tus credenciales de API.
+
+ ```bash
+ API_KEY=your_api_key_here
+ ```
+
+
+ Nunca subas claves de API al control de versiones.
+
+
+
+
+#### Pestañas para contenido alternativo
+
+Ejemplo de contenido con pestañas:
+
+
+
+ ```bash
+ brew install node
+ npm install -g package-name
+ ```
+
+
+
+ ```powershell
+ choco install nodejs
+ npm install -g package-name
+ ```
+
+
+
+ ```bash
+ sudo apt install nodejs npm
+ npm install -g package-name
+ ```
+
+
+
+#### Acordeones para contenido plegable
+
+Ejemplo de grupos de acordeón:
+
+
+
+ - **Bloqueo por firewall**: Asegúrate de que los puertos 80 y 443 estén abiertos
+ - **Configuración de proxy**: Define la variable de entorno HTTP_PROXY
+ - **Resolución DNS**: Prueba usar 8.8.8.8 como servidor DNS
+
+
+
+ ```javascript
+ const config = {
+ performance: { cache: true, timeout: 30000 },
+ security: { encryption: 'AES-256' }
+ };
+ ```
+
+
+
+### Tarjetas y columnas para enfatizar información
+
+Ejemplo de tarjetas y grupos de tarjetas:
+
+
+Recorrido completo desde la instalación hasta tu primera llamada a la API en menos de 10 minutos.
+
+
+
+
+ Aprende a autenticar solicitudes usando claves de API o tokens JWT.
+
+
+
+ Comprende los límites y las mejores prácticas para un uso de alto volumen.
+
+
+
+### Componentes de documentación de API
+
+#### Campos de parámetros
+
+Ejemplo de documentación de parámetros:
+
+
+Identificador único del usuario. Debe tener formato UUID v4 válido.
+
+
+
+Dirección de correo electrónico del usuario. Debe ser válida y única dentro del sistema.
+
+
+
+Número máximo de resultados a retornar. Rango: 1-100.
+
+
+
+Token Bearer para autenticación de la API. Formato: `Bearer YOUR_API_KEY`
+
+
+#### Campos de respuesta
+
+Ejemplo de documentación de campos de respuesta:
+
+
+Identificador único asignado al usuario recién creado.
+
+
+
+Marca de tiempo en formato ISO 8601 del momento en que se creó el usuario.
+
+
+
+Lista de cadenas de permisos asignadas a este usuario.
+
+
+#### Campos anidados expandibles
+
+Ejemplo de documentación de campos anidados:
+
+
+Objeto de usuario completo con todos los datos asociados.
+
+
+
+ Información del perfil del usuario, incluidos los datos personales.
+
+
+
+ Nombre del usuario tal como se ingresó durante el registro.
+
+
+
+ URL de la foto de perfil del usuario. Devuelve null si no se configuró un avatar.
+
+
+
+
+
+
+### Componentes avanzados y de medios
+
+#### Marcos para imágenes
+
+Envuelve todas las imágenes en marcos:
+
+
+
+
+
+
+
+
+
+#### Videos
+
+Usa el elemento de video HTML para contenido de video autoalojado:
+
+
+
+Incorpora videos de YouTube usando elementos iframe:
+
+
+
+#### Tooltips
+
+Ejemplo de uso de tooltip:
+
+
+API
+
+
+#### Actualizaciones
+
+Usa actualizaciones para registros de cambios:
+
+
+## Novedades
+- Se agregó la funcionalidad de importación masiva de usuarios
+- Se mejoraron los mensajes de error con sugerencias accionables
+
+## Correcciones de errores
+- Se corrigió un problema de paginación con conjuntos de datos grandes
+- Se resolvieron problemas de tiempo de espera de autenticación
+
+
+## Estructura de página requerida
+
+Cada página de documentación debe comenzar con frontmatter YAML:
+
+```yaml
+---
+title: "Título claro, específico y con palabras clave"
+description: "Descripción concisa que explica el propósito y el valor de la página"
+---
+```
+
+## Estándares de calidad del contenido
+
+### Requisitos para ejemplos de código
+
+- Incluye siempre ejemplos completos y ejecutables que los usuarios puedan copiar y ejecutar
+- Muestra manejo adecuado de errores y gestión de casos límite
+- Usa datos realistas en lugar de valores de marcador de posición
+- Incluye salidas y resultados esperados para verificación
+- Prueba a fondo todos los ejemplos de código antes de publicar
+- Especifica el lenguaje e incluye el nombre del archivo cuando sea relevante
+- Agrega comentarios explicativos para lógica compleja
+- Nunca incluyas claves de API reales ni secretos en ejemplos de código
+
+### Requisitos para documentación de API
+
+- Documenta todos los parámetros, incluidos los opcionales, con descripciones claras
+- Muestra ejemplos de respuestas de éxito y de error con datos realistas
+- Incluye información sobre limitación de velocidad con límites específicos
+- Proporciona ejemplos de autenticación que muestren el formato correcto
+- Explica todos los códigos de estado HTTP y el manejo de errores
+- Cubre ciclos completos de solicitud/respuesta
+
+### Requisitos de accesibilidad
+
+- Incluye texto alternativo descriptivo para todas las imágenes y diagramas
+- Usa texto de enlace específico y accionable en lugar de "haz clic aquí"
+- Garantiza una jerarquía de encabezados adecuada comenzando con H2
+- Proporciona consideraciones de navegación mediante teclado
+- Usa suficiente contraste de color en ejemplos y recursos visuales
+- Estructura el contenido para facilitar el escaneo con encabezados y listas
+
+## Lógica de selección de componentes
+
+- Usa **Steps** para procedimientos e instrucciones secuenciales
+- Usa **Tabs** para contenido específico de plataforma o enfoques alternativos
+- Usa **CodeGroup** cuando muestres el mismo concepto en varios lenguajes de programación
+- Usa **Accordions** para la divulgación progresiva de información
+- Usa **RequestExample/ResponseExample** específicamente para documentación de endpoints de API
+- Usa **ParamField** para parámetros de API y **ResponseField** para respuestas de API
+- Usa **Expandable** para propiedades de objetos anidados o información jerárquica
+````
+
+
diff --git a/es/guides/deployments.mdx b/es/guides/deployments.mdx
new file mode 100644
index 000000000..5a559ccae
--- /dev/null
+++ b/es/guides/deployments.mdx
@@ -0,0 +1,31 @@
+---
+title: "Despliegues"
+description: "Soluciona problemas de tus despliegues"
+icon: "boxes"
+---
+
+Tu sitio de documentación se publica automáticamente cuando haces push de cambios a tu repositorio conectado. Para ello, la aplicación de GitHub de Mintlify debe estar correctamente instalada y conectada.
+
+Si tus cambios más recientes no aparecen en el sitio en producción, primero verifica que la aplicación de GitHub esté instalada en la cuenta u organización propietaria del repositorio de tu documentación. Consulta [Solución de problemas de GitHub](/es/settings/github#troubleshooting) para obtener más información.
+
+Si la aplicación de GitHub está conectada, pero los cambios aún no se publican, puedes iniciar manualmente una reconstrucción desde tu panel.
+
+
+ ## Activar un despliegue manualmente
+
+
+
+
+ Comprueba que tu commit más reciente aparezca en tu repositorio de documentación y que no haya tenido errores.
+
+
+
+ Ve a tu [panel](https://dashboard.mintlify.com) y selecciona el botón de despliegue.
+
+
+
+
+
+
+
+
diff --git a/es/guides/geo.mdx b/es/guides/geo.mdx
new file mode 100644
index 000000000..e674c400a
--- /dev/null
+++ b/es/guides/geo.mdx
@@ -0,0 +1,128 @@
+---
+title: "Guía de GEO: optimiza la documentación para la búsqueda y los motores de respuesta de IA"
+sidebarTitle: "GEO"
+description: "Haz que tu documentación sea más fácil de descubrir y citada con mayor frecuencia por herramientas de IA"
+icon: "cpu"
+---
+
+Optimiza tu documentación tanto para los motores de búsqueda tradicionales como para los motores de respuesta impulsados por IA, como ChatGPT, Perplexity y Google AI Overviews.
+
+La Optimización para Motores Generativos (GEO) se centra en lograr citas de sistemas de IA mediante contenido completo e información estructurada, mientras que el SEO tradicional apunta a mejorar el posicionamiento en los resultados de búsqueda.
+
+
+
+
+ ## Inicio rápido de GEO
+
+
+
+ ### Configuración inicial
+
+
+1. **Asegúrate de que tu documentación esté siendo indexada** en la configuración de tu `docs.json`
+2. **Audita las páginas actuales** para detectar títulos y descripciones faltantes
+
+
+ ### Mejoras de contenido
+
+
+1. **Agrega tablas comparativas** a las páginas correspondientes
+2. **Audita los encabezados** para asegurarte de que respondan preguntas comunes
+3. **Mejora los enlaces internos** entre temas relacionados
+4. **Prueba con herramientas de IA** para verificar la exactitud
+
+
+
+
+ ## Mejores prácticas de GEO
+
+
+En general, la documentación bien escrita y bien estructurada tendrá un GEO sólido. Aun así, prioriza escribir para tus usuarios y, si tu contenido satisface sus necesidades, estarás bien encaminado para optimizarlo para herramientas de IA. Crear contenido realmente útil, en lugar de optimizar por optimizar, es recompensado tanto por los motores de búsqueda tradicionales como por los de IA.
+
+Enfócate en:
+
+- Contenido alineado con las necesidades del usuario en lugar de la coincidencia de palabras clave
+- Información estructurada y fácil de recorrer de un vistazo
+- Respuestas directas a preguntas
+
+
+ ### Formato para mayor claridad
+
+
+Estas prácticas de formato ayudan a las herramientas de IA a analizar y comprender tu contenido:
+
+- No te saltes niveles de encabezado (H1 → H2 → H3)
+- Usa nombres de objetos específicos en lugar de “it” o “this”
+- Etiqueta los bloques de código con su lenguaje de programación
+- Proporciona texto alternativo descriptivo para las imágenes
+- Enlaza a conceptos relacionados para ayudar a la IA a comprender las relaciones
+
+
+ ### Responde preguntas directamente
+
+
+Escribe contenido que aborde preguntas específicas de los usuarios:
+
+- Comienza las secciones con la idea principal
+- Usa encabezados descriptivos que coincidan con consultas comunes
+- Divide los temas complejos en pasos numerados
+
+
+
+
+ ## Configuración de Mintlify
+
+
+Utiliza estas funciones para mejorar la GEO.
+
+
+ ### Agrega metadatos descriptivos de la página
+
+
+Incluye títulos y descripciones claros en el frontmatter:
+
+```mdx
+---
+title: "Guía de autenticación de API"
+description: "Guía completa para implementar la autenticación de API con ejemplos de código"
+---
+```
+
+
+ ### Configura la configuración global de indexación
+
+
+Los archivos LLMs.txt ayudan a los sistemas de IA a entender la estructura de tu documentación, de forma similar a como los sitemaps ayudan a los motores de búsqueda. Mintlify genera automáticamente archivos LLMs.txt para tu documentación. No se requiere configuración.
+
+
+
+ ## Prueba de tu documentación
+
+
+Evalúa varias herramientas de IA con preguntas sobre tu producto y tu documentación para ver qué tan bien citan tus docs.
+
+**Haz a los asistentes de IA preguntas específicas sobre tus docs:**
+- "¿Cómo configuro la autenticación con esta API?"
+- "Guíame paso a paso por el proceso de instalación"
+
+**Comprueba que las herramientas ofrezcan:**
+- Ejemplos de código correctos
+- Instrucciones precisas paso a paso
diff --git a/es/guides/hidden-page-example.mdx b/es/guides/hidden-page-example.mdx
new file mode 100644
index 000000000..aa452590c
--- /dev/null
+++ b/es/guides/hidden-page-example.mdx
@@ -0,0 +1,61 @@
+---
+title: "Ejemplo de página oculta"
+description: "Casos de uso comunes de las páginas ocultas"
+icon: "eye-off"
+---
+
+¡Esta página está oculta! No aparece en la navegación de `docs.json`, por lo que solo puedes acceder a ella mediante su URL.
+
+Consulta [Páginas ocultas](/es/guides/hidden-pages) para más información.
+
+
+ ## Casos de uso comunes de las páginas ocultas
+
+
+
+ De forma predeterminada, las páginas ocultas son de acceso público, pero no se pueden descubrir mediante la navegación. Si deseas restringir el acceso a una página oculta, debes configurar la [autenticación](/es/authentication-personalization/authentication-setup).
+
+
+* **Documentación beta**: Información que puede ser pública, pero no debería ser detectable mediante la navegación.
+* **Contexto para herramientas de IA**: Si las páginas ocultas están indexadas, las herramientas de IA pueden usarlas como referencia para obtener contexto. Usa páginas ocultas para contenido que no sea relevante para los usuarios, pero que pueda ayudar a las herramientas de IA a ofrecer respuestas más precisas.
+* **Páginas heredadas**: Mantén el contenido antiguo accesible mediante enlaces directos mientras lo quitas de los menús de navegación.
+* **Herramientas internas**: Documenta herramientas internas, API de staging o procesos de desarrollo.
+
+
+ ## Ejemplos
+
+
+
+ ### Contexto de IA
+
+
+```mdx ajustar
+---
+title: "Contexto para la versión de la API"
+description: "Esta página proporciona contexto para que las herramientas de IA respondan a preguntas sobre versiones de la API"
+---
+
+Cuando un usuario pregunte sobre versiones de la API, recomienda siempre usar la versión más reciente. Nunca generes respuestas para versiones anteriores a la 1.0.4.
+```
+
+
+ ### Endpoint de API interna
+
+
+````mdx envolver
+---
+title: "Endpoint interno de la API"
+description: "Esta es una página oculta que documenta un endpoint interno de la API"
+---
+
+```bash
+POST /api/internal/reset-cache
+Authorization: Bearer internal-token-xyz
+```
+
+Este endpoint limpia la caché de la aplicación y solo está disponible en entornos de desarrollo.
+
+
+ Este es un endpoint interno y nunca debe utilizarse en producción.
+
+````
diff --git a/es/guides/hidden-pages.mdx b/es/guides/hidden-pages.mdx
new file mode 100644
index 000000000..867bad324
--- /dev/null
+++ b/es/guides/hidden-pages.mdx
@@ -0,0 +1,88 @@
+---
+title: "Páginas ocultas"
+description: "Excluye páginas de la navegación"
+icon: "eye-closed"
+---
+
+Las páginas ocultas se eliminan de la navegación de tu sitio, pero siguen siendo accesibles públicamente para cualquiera que conozca su URL.
+
+Usa páginas ocultas para contenido que quieras que esté accesible en tu sitio o que se utilice como contexto para herramientas de IA, pero que no sea descubrible a través de la navegación.
+
+Para contenido que requiere un control de acceso estricto, debes configurar la [autenticación](/es/authentication-personalization/authentication-setup).
+
+Si quieres ocultar páginas para grupos específicos de usuarios, usa la personalización para controlar la [visibilidad de páginas](/es/authentication-personalization/overview#page-visibility).
+
+
+ ## Ocultar una página
+
+
+Una página está oculta si no está incluida en la navegación de tu `docs.json`. Para ocultar una página, quítala de tu estructura de navegación.
+
+Las páginas ocultas usan la misma estructura de URL que las páginas normales según su ruta de archivo. Por ejemplo, `guides/hidden-page.mdx` sería accesible en `docs.yoursite.com/guides/hidden-page`.
+
+Consulta un [ejemplo de página oculta](/es/guides/hidden-page-example).
+
+
+ Algunos elementos de navegación, como barras laterales, menús desplegables y pestañas, pueden aparecer vacíos o provocar cambios en el diseño en las páginas ocultas.
+
+
+
+ ## Ocultar un grupo de páginas
+
+
+Un grupo de páginas se oculta si la propiedad `hidden` está configurada en `true` en tu archivo `docs.json`:
+
+```json highlight={4}
+"groups": [
+ {
+ "group": "Primeros pasos",
+ "hidden": true,
+ "pages": [
+ "index",
+ "quickstart"
+ ]
+ },
+ {
+ "group": "Guías",
+ "pages": [
+ "guides/hidden-page.mdx",
+ "guides/hidden-groups.mdx"
+ ]
+ }
+]
+```
+
+En este ejemplo, el grupo `Getting started` está oculto, pero el grupo `Guides` está visible.
+
+
+
+De forma predeterminada, las páginas ocultas se excluyen de la indexación para los motores de búsqueda, la búsqueda interna de tu documentación y como contexto para el Asistente de IA. Para incluir páginas ocultas en los resultados de búsqueda y como contexto para el Asistente, agrega la propiedad `seo` a tu `docs.json`:
+
+```json
+"seo": {
+ "indexing": "all"
+}
+```
+
+Para excluir una página específica, agrega `noindex: true` a su front matter.
diff --git a/es/guides/migration.mdx b/es/guides/migration.mdx
new file mode 100644
index 000000000..4ad85c106
--- /dev/null
+++ b/es/guides/migration.mdx
@@ -0,0 +1,201 @@
+---
+title: "Migraciones"
+description: "Cómo migrar la documentación desde tu plataforma actual"
+icon: "import"
+---
+
+Esta guía te ayuda a trasladar tu documentación existente a Mintlify. Elige la migración automatizada para las plataformas compatibles o la migración manual para tener control total sobre el proceso.
+
+
+ ## Elige tu ruta de migración
+
+
+
+
+ Si migras desde Docusaurus, ReadMe o GitBook, usa nuestras herramientas para automatizar la migración.
+
+
+
+ Si migras desde cualquier otra plataforma, sigue nuestra guía para migrar tu contenido.
+
+
+
+
+
+ Migra tu documentación con el [paquete @mintlify/scraping](https://www.npmjs.com/package/@mintlify/scraping). El paquete extrae tu contenido y lo convierte para usar componentes de Mintlify.
+
+ ### Plataformas compatibles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ horizontal
+ />
+
+
+
+}
+ horizontal
+ />
+
+
+
+}
+ horizontal
+ />
+
+
+ Si tu documentación está alojada en otra plataforma, consulta los pasos de migración manual.
+
+ ### Instalación del scraper
+
+ Instala el paquete `@mintlify/scraping` para empezar.
+
+ ```bash
+ npm install @mintlify/scraping@latest -g
+ ```
+
+ ### Rastrear páginas y secciones
+
+ La herramienta de migración detecta automáticamente tu plataforma de documentación y convierte tu contenido. Los archivos preparados se almacenan localmente en `./docs` de forma predeterminada.
+
+ En sitios de documentación grandes, migra secciones pequeñas por etapas en lugar de todo el sitio de una sola vez.
+
+ **Migrar secciones completas:**
+
+ ```bash
+ mintlify-scrape sección https://your-docs-site.com/docs
+ ```
+
+ **Migrar páginas individuales:**
+
+ ```bash
+ mintlify-scrape page https://tu-sitio-de-docs.com/docs/getting-started
+ ```
+
+ **Migrar las especificaciones de OpenAPI:**
+
+ ```bash
+ mintlify-scrape openapi-file [nombreArchivoOpenAPI]
+ ```
+
+ ### Agrega contenido preconfigurado a tu proyecto de Mintlify
+
+ Después de rastrear tu plataforma de documentación actual, ya puedes construir tu documentación en Mintlify.
+
+ Confirma que todas tus páginas se hayan migrado y luego agrega estos archivos al repositorio de documentación que creaste durante la incorporación. Por lo general, es un repositorio de GitHub.
+
+
+
+ Migra tu documentación desde cualquier plataforma con control total sobre el proceso.
+
+ ### Migración de contenido
+
+ Para migrar tu contenido a Mintlify, necesitarás:
+
+ * Un `docs.json` válido para la configuración y navegación de tu sitio. Consulta [Configuración global](/es/settings) y [Navegación](/es/navigation) para más información.
+ * Un archivo `MDX` por cada página de tu documentación. Consulta [Páginas](/es/pages) para más información.
+ * (Opcional) Una especificación OpenAPI para las páginas de endpoints de tu API. Consulta [Configuración de OpenAPI](/es/api-playground/openapi-setup) para más información.
+
+ 1. Si tu contenido ya está en formato `MDX`, copia las páginas a tu proyecto de Mintlify. De lo contrario, convierte tu contenido al formato `MDX`.
+ 2. Crea tu `docs.json` haciendo referencia a las rutas de tus páginas `MDX`.
+ 3. Si tienes especificaciones OpenAPI, agrégalas a tu `docs.json` y configura el Área de pruebas de API.
+
+ ### Migración de recursos
+
+ 1. Copia los recursos en el directorio `images/` de tu repositorio.
+ 2. Actualiza las referencias en tus archivos `MDX`:
+ ```mdx
+ 
+ ```
+
+
+
+
+ ## Lista de verificación posterior a la migración
+
+
+Después de completar tu migración (automatizada o manual), te recomendamos verificar:
+
+* Todas las páginas se renderizan
+* La navegación funciona como se espera
+* Los enlaces internos funcionan correctamente
+* Las imágenes y los recursos cargan correctamente
+* Los bloques de código muestran el resaltado de sintaxis correcto
+* La búsqueda funciona
+* El despliegue está configurado
+* El dominio personalizado está configurado
diff --git a/es/guides/monorepo.mdx b/es/guides/monorepo.mdx
new file mode 100644
index 000000000..1b081ce25
--- /dev/null
+++ b/es/guides/monorepo.mdx
@@ -0,0 +1,51 @@
+---
+title: "Configuración de monorepo"
+description: "Despliega tu documentación desde un repositorio que contiene múltiples proyectos"
+icon: "folder-git"
+---
+
+Configura Mintlify para desplegar la documentación desde un directorio específico dentro de un monorepo. Esta configuración te permite mantener la documentación junto a tu código en repositorios que contienen múltiples proyectos o servicios.
+
+
+
+
+ ## Requisitos previos
+
+
+* Acceso de administrador a tu proyecto de Mintlify.
+* Archivos de documentación organizados en un directorio dedicado dentro de tu monorepo.
+* Un `docs.json` válido en tu directorio de documentación.
+
+
+
+
+ ## Configurar la implementación de un monorepo
+
+
+
+
+Ve a [Git Settings](https://dashboard.mintlify.com/settings/deployment/git-settings) en tu panel.
+
+
+
+
+
+
+
+
+1. Activa el interruptor **Set up as monorepo**.
+2. Introduce la ruta relativa a tu directorio de documentación. Por ejemplo, si tu documentación está en el directorio `docs`, introduce `/docs`.
+
+ No incluyas una barra final en la ruta.
+
+3. Selecciona **Save changes**.
+
+
diff --git a/es/guides/reverse-proxy.mdx b/es/guides/reverse-proxy.mdx
new file mode 100644
index 000000000..7e5928655
--- /dev/null
+++ b/es/guides/reverse-proxy.mdx
@@ -0,0 +1,146 @@
+---
+title: "Proxy inverso"
+description: "Configura un proxy inverso personalizado para servir tu documentación"
+---
+
+
+ La configuración de proxy inverso solo está disponible en los [planes Custom](https://mintlify.com/pricing?ref=reverse-proxy).
+
+
+Para servir tu documentación a través de un proxy inverso personalizado, debes configurar reglas de enrutamiento, políticas de caché y reenvío de encabezados.
+
+Cuando implementes un proxy inverso, supervisa posibles problemas con la verificación de dominios, la emisión de certificados SSL, los flujos de autenticación, el rendimiento y el seguimiento de analíticas.
+
+
+ ## Configuración de enrutamiento
+
+
+Redirige estas rutas a tu subdominio de Mintlify con las siguientes políticas de caché:
+
+| Ruta | Destino | Caché |
+|------|-------------|---------|
+| `/.well-known/acme-challenge/*` | `.mintlify.app` | Sin caché |
+| `/.well-known/vercel/*` | `.mintlify.app` | Sin caché |
+| `/mintlify-assets/_next/static/*` | `.mintlify.app` | Caché activada |
+| `/*` | `.mintlify.app` | Sin caché |
+| `/` | `.mintlify.app` | Sin caché |
+
+
+ ## Configuración requerida de encabezados
+
+
+Configura tu proxy inverso con estos requisitos de encabezados:
+
+- **Origin**: Contiene el subdominio de destino `.mintlify.app`
+- **X-Forwarded-For**: Conserva la información de la IP del cliente
+- **X-Forwarded-Proto**: Conserva el protocolo original (HTTP/HTTPS)
+- **X-Real-IP**: Reenvía la dirección IP real del cliente
+- **User-Agent**: Reenvía el agente de usuario
+
+
+ Asegúrate de no reenviar el encabezado `Host`
+
+
+
+
+**Síntomas**: La documentación se carga, pero las funcionalidades no funcionan. Las llamadas a la API fallan.
+
+**Causa**: Se está reenviando el encabezado `Host` o falta el encabezado `Origin`.
+
+**Solución**:
+
+- Eliminar el reenvío del encabezado `Host`
+- Establecer el encabezado `Origin` en `.mintlify.app`
+
+
+ ### Problemas de rendimiento
+
+
+**Síntomas**: Carga lenta de páginas y desplazamientos del diseño.
+
+**Causa**: Configuración de caché incorrecta.
+
+**Solución**: Habilita la caché solo para las rutas `/mintlify-assets/_next/static/*`.
\ No newline at end of file
diff --git a/es/guides/windsurf.mdx b/es/guides/windsurf.mdx
new file mode 100644
index 000000000..d7dc0c99e
--- /dev/null
+++ b/es/guides/windsurf.mdx
@@ -0,0 +1,156 @@
+---
+title: "Windsurf"
+description: "Configura Windsurf para que sea tu asistente de escritura"
+icon: "waves"
+---
+
+Convierte Windsurf en un experto en documentación que comprende tu guía de estilo, tus componentes y el contexto de tu proyecto mediante reglas del espacio de trabajo y memorias.
+
+
+
+
+ ## Usar Windsurf con Mintlify
+
+
+El Asistente de IA Cascade de Windsurf se puede ajustar para redactar documentación conforme a tus estándares utilizando componentes de Mintlify. Las reglas del espacio de trabajo y las memorias proporcionan contexto persistente sobre tu proyecto, lo que garantiza sugerencias más coherentes de Cascade.
+
+* **Reglas del espacio de trabajo**: se almacenan en tu repositorio de documentación y se comparten con tu equipo.
+* **Memorias**: proporcionan contexto individual que se acumula con el tiempo.
+
+Recomendamos configurar reglas del espacio de trabajo para definir estándares de documentación compartidos. Puedes desarrollar memorias a medida que trabajas, pero como no se comparten, no serán coherentes entre los miembros del equipo.
+
+Crea reglas del espacio de trabajo en el directorio `.windsurf/rules` de tu repositorio de documentación. Consulta [Memories & Rules](https://docs.windsurf.com/windsurf/cascade/memories) en la documentación de Windsurf para obtener más información.
+
+
+
+
+ ## Regla de espacio de trabajo de ejemplo
+
+
+Esta regla proporciona a Cascade contexto sobre los componentes de Mintlify y las mejores prácticas generales de documentación técnica.
+
+Puedes usar esta regla de ejemplo tal como está o personalizarla para tu documentación:
+
+* **Estándares de redacción**: Actualiza las pautas de lenguaje para alinearlas con tu guía de estilo.
+* **Patrones de componentes**: Añade componentes específicos del proyecto o modifica los ejemplos existentes.
+* **Ejemplos de código**: Sustituye los ejemplos genéricos por llamadas y respuestas reales de tu API para tu producto.
+* **Preferencias de estilo y tono**: Ajusta la terminología, el formato y otras reglas.
+
+Guarda la regla como un archivo `.md` en el directorio `.windsurf/rules` del repositorio de tu documentación.
+
+````mdx
+# Norma de redacción técnica de Mintlify
+
+## Contexto del proyecto
+
+- Este es un proyecto de documentación en la plataforma Mintlify
+- Usamos archivos MDX con frontmatter en YAML
+- La navegación se configura en `docs.json`
+- Seguimos las mejores prácticas de redacción técnica
+
+## Estándares de redacción
+
+- Usa la segunda persona ("tú") para las instrucciones
+- Escribe en voz activa y en tiempo presente
+- Inicia los procedimientos con requisitos previos
+- Incluye los resultados esperados para los pasos principales
+- Usa encabezados descriptivos y con palabras clave
+- Mantén las frases concisas pero informativas
+
+## Estructura de página requerida
+
+Cada página debe comenzar con frontmatter:
+
+```yaml
+---
+title: "Título claro y específico"
+description: "Descripción concisa para SEO y la navegación"
+---
+```
+
+## Componentes de Mintlify
+
+### docs.json
+
+- Consulta el [esquema de docs.json](https://mintlify.com/docs.json) al crear el archivo docs.json y la navegación del sitio
+
+### Avisos
+
+- `` para información complementaria útil
+- `` para advertencias importantes y cambios incompatibles
+- `` para buenas prácticas y consejos de expertos
+- `` para información contextual neutral
+- `` para confirmaciones de éxito
+
+### Ejemplos de código
+
+- Cuando corresponda, incluye ejemplos completos y ejecutables
+- Usa `` para ejemplos en varios lenguajes
+- Especifica etiquetas de lenguaje en todos los bloques de código
+- Incluye datos realistas, no marcadores de posición
+- Usa `` y `` para la documentación de API
+
+### Procedimientos
+
+- Usa el componente `` para instrucciones secuenciales
+- Incluye pasos de verificación con componentes `` cuando corresponda
+- Divide los procedimientos complejos en pasos más pequeños
+
+### Organización del contenido
+
+- Usa `` para contenido específico de plataforma
+- Usa `` para divulgación progresiva
+- Usa `` y `` para destacar contenido
+- Envuelve las imágenes en componentes `` con texto alternativo descriptivo
+
+## Requisitos de documentación de API
+
+- Documenta todos los parámetros con ``
+- Muestra la estructura de la respuesta con ``
+- Incluye ejemplos de éxito y de error
+- Usa `` para propiedades de objetos anidados
+- Incluye siempre ejemplos de autenticación
+
+## Estándares de calidad
+
+- Prueba todos los ejemplos de código antes de publicar
+- Usa rutas relativas para enlaces internos
+- Incluye texto alternativo para todas las imágenes
+- Garantiza una jerarquía de encabezados adecuada (comienza con h2)
+- Revisa los patrones existentes para mantener la coherencia
+````
+
+
+
+ ## Trabajar con Cascade
+
+
+Una vez que hayas configurado tus reglas, puedes usar Cascade para ayudarte con diversas tareas de documentación. Consulta [Cascade](https://docs.windsurf.com/windsurf/cascade) en la documentación de Windsurf para obtener más información.
+
+
+ ### Ejemplos de prompts
+
+
+**Redacción de contenido nuevo**:
+
+```text ajustar
+Crea una nueva página que explique cómo autenticarse en nuestra API. Incluye ejemplos de código en JavaScript, Python y cURL.
+```
+
+**Mejorar el contenido existente**:
+
+```text ajuste
+Revisa esta página y sugiere mejoras para la claridad y el uso de componentes. Concéntrate en que los pasos sean más fáciles de seguir.
+```
+
+**Creación de ejemplos de código**:
+
+```text ajustar
+Genera un ejemplo de código completo que muestre el manejo de errores para este endpoint de API. Usa datos realistas e incluye las respuestas esperadas.
+```
+
+**Mantener la consistencia**:
+
+```text ajustar
+Verifica si esta nueva página cumple con nuestros estándares de documentación y sugiere los cambios necesarios.
+```
diff --git a/es/image-embeds.mdx b/es/image-embeds.mdx
new file mode 100644
index 000000000..e1823a748
--- /dev/null
+++ b/es/image-embeds.mdx
@@ -0,0 +1,196 @@
+---
+title: "Imágenes y contenido incrustado"
+description: "Añade imágenes, videos e iframes"
+icon: "image"
+---
+
+Añade imágenes, incrusta videos e incluye contenido interactivo con iframes en tu documentación.
+
+Todos los archivos estáticos de tu repositorio de documentación se sirven automáticamente en la ruta correspondiente de tu dominio. Por ejemplo, si tienes `/images/my-logo.png` en tu repo, la imagen estará disponible en `https://docs.yoursite.com/images/my-logo.png`.
+
+
+
+
+
+
+ ## Imágenes
+
+
+Añade imágenes para aportar contexto visual, ejemplos o elementos decorativos a tu documentación.
+
+
+ ### Sintaxis básica de imágenes
+
+
+Usa la [sintaxis de Markdown](https://www.markdownguide.org/basic-syntax/#images) para agregar imágenes a tu documentación:
+
+```mdx
+
+```
+
+
+ Incluye siempre texto alternativo descriptivo para mejorar la accesibilidad y el SEO. El texto alternativo debe describir con claridad lo que muestra la imagen.
+
+
+Los archivos de imagen deben pesar menos de 20 MB. Para archivos más grandes, aloja el contenido en un servicio CDN como [Amazon S3](https://aws.amazon.com/s3) o [Cloudinary](https://cloudinary.com).
+
+
+ ### Inserciones de imágenes en HTML
+
+
+Para tener más control sobre la visualización de imágenes, usa etiquetas `` de HTML:
+
+```html
+
+```
+
+
+ #### Desactivar la funcionalidad de zoom
+
+
+Para desactivar el zoom predeterminado al hacer clic en las imágenes, agrega la propiedad `noZoom`:
+
+```html highlight="4"
+
+```
+
+
+ #### Enlazar imágenes
+
+
+Para convertir una imagen en un enlace clicable, envuelve la imagen en una etiqueta de enlace (anchor) y agrega la propiedad `noZoom`:
+
+```html
+
+
+
+```
+
+
+ Las imágenes dentro de etiquetas de enlace muestran automáticamente un cursor de puntero para indicar que se pueden hacer clic.
+
+
+
+ #### Imágenes para modos claro y oscuro
+
+
+Para mostrar imágenes distintas en los temas claro y oscuro, usa clases de Tailwind CSS:
+
+```html
+
+
+
+
+
+```
+
+
+ ## Videos
+
+
+Mintlify admite [etiquetas HTML en Markdown](https://www.markdownguide.org/basic-syntax/#html), lo que te da flexibilidad para crear contenido enriquecido.
+
+
+ Incluye siempre contenido de texto de respaldo dentro de los elementos de video para los navegadores que no admiten la reproducción de video.
+
+
+
+ ### Insertar contenido de YouTube
+
+
+Inserta videos de YouTube usando elementos iframe:
+
+```html
+
+```
+
+
+
+
+
+