diff --git a/docs.json b/docs.json
index 046352a0..bde44fe3 100644
--- a/docs.json
+++ b/docs.json
@@ -1,295 +1,1058 @@
{
- "$schema": "https://mintlify.com/docs.json",
"theme": "maple",
+ "$schema": "https://mintlify.com/docs.json",
"name": "Mintlify",
"colors": {
"primary": "#0D9373",
"light": "#55D799",
"dark": "#0D9373"
},
+ "logo": {
+ "light": "/logo/light.svg",
+ "dark": "/logo/dark.svg",
+ "href": "https://mintlify.com"
+ },
"favicon": "/favicon.svg",
- "icons": {
- "library": "lucide"
+ "api": {
+ "mdx": {
+ "auth": {
+ "method": "bearer"
+ }
+ }
+ },
+ "navbar": {
+ "links": [
+ {
+ "label": "Community",
+ "href": "https://mintlify.com/community"
+ }
+ ],
+ "primary": {
+ "type": "button",
+ "label": "Get Started",
+ "href": "https://mintlify.com/start"
+ }
},
"navigation": {
- "dropdowns": [
+ "languages": [
{
- "dropdown": "Documentation",
- "icon": "book",
- "description": "Set up your documentation",
- "groups": [
+ "language": "en",
+ "dropdowns": [
{
- "group": "Getting Started",
- "pages": [
- "index",
- "quickstart",
- "installation",
- "editor",
- "support"
+ "dropdown": "Documentation",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": [
+ "index",
+ "quickstart",
+ "installation",
+ "editor",
+ "support"
+ ]
+ },
+ {
+ "group": "Core Configuration",
+ "pages": [
+ "settings",
+ "pages",
+ "navigation",
+ "themes",
+ "settings/custom-domain",
+ "ai-ingestion"
+ ]
+ },
+ {
+ "group": "Components",
+ "pages": [
+ "text",
+ "image-embeds",
+ "list-table",
+ "code",
+ "reusable-snippets",
+ "components/accordions",
+ "components/callouts",
+ "components/cards",
+ "components/columns",
+ "components/code-groups",
+ "components/examples",
+ "components/expandables",
+ "components/fields",
+ "components/frames",
+ "components/icons",
+ "components/mermaid-diagrams",
+ "components/panel",
+ "components/steps",
+ "components/tabs",
+ "components/tooltips",
+ "components/update"
+ ]
+ },
+ {
+ "group": "API Pages",
+ "pages": [
+ "api-playground/overview",
+ {
+ "group": "OpenAPI",
+ "icon": "file-json",
+ "pages": [
+ "api-playground/openapi/setup",
+ "api-playground/openapi/writing-openapi",
+ "api-playground/openapi/advanced-features"
+ ]
+ },
+ {
+ "group": "AsyncAPI",
+ "icon": "webhook",
+ "pages": [
+ "api-playground/asyncapi/setup",
+ "api-playground/asyncapi/playground"
+ ]
+ },
+ {
+ "group": "MDX",
+ "icon": "markdown",
+ "pages": [
+ "api-playground/mdx/configuration",
+ "api-playground/mdx/authentication"
+ ]
+ },
+ "api-playground/troubleshooting"
+ ]
+ },
+ {
+ "group": "Authentication and Personalization",
+ "pages": [
+ "settings/authentication-personalization/authentication",
+ "settings/authentication-personalization/partial-authentication",
+ "settings/authentication-personalization/personalization",
+ "settings/authentication-personalization/authentication-vs-personalization",
+ {
+ "group": "Authentication Setup",
+ "icon": "file-cog",
+ "pages": [
+ "settings/authentication-personalization/authentication-setup/choosing-a-handshake",
+ "settings/authentication-personalization/authentication-setup/password",
+ "settings/authentication-personalization/authentication-setup/jwt",
+ "settings/authentication-personalization/authentication-setup/oauth",
+ "settings/authentication-personalization/authentication-setup/mintlify"
+ ]
+ },
+ {
+ "group": "Personalization Setup",
+ "icon": "user-cog",
+ "pages": [
+ "settings/authentication-personalization/personalization-setup/choosing-a-handshake",
+ "settings/authentication-personalization/personalization-setup/shared-session",
+ "settings/authentication-personalization/personalization-setup/jwt",
+ "settings/authentication-personalization/personalization-setup/oauth"
+ ]
+ },
+ "settings/authentication-personalization/sending-data"
+ ]
+ },
+ {
+ "group": "Guides",
+ "pages": [
+ "guides/migration",
+ "mcp",
+ "translations",
+ "guides/monorepo",
+ "react-components",
+ "settings/custom-scripts",
+ "settings/seo",
+ "guides/hidden-pages",
+ "settings/broken-links",
+ {
+ "group": "Custom Subdirectory",
+ "icon": "folder",
+ "pages": [
+ "advanced/subpath/cloudflare",
+ "advanced/subpath/route53-cloudfront",
+ "advanced/subpath/vercel"
+ ]
+ },
+ {
+ "group": "Dashboard Access",
+ "icon": "gauge",
+ "pages": [
+ "advanced/dashboard/sso",
+ "advanced/dashboard/permissions",
+ "advanced/dashboard/roles"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Integrations",
+ "pages": [
+ {
+ "group": "Analytics",
+ "icon": "chart-no-axes-combined",
+ "pages": [
+ "integrations/analytics/overview",
+ "integrations/analytics/amplitude",
+ "integrations/analytics/clearbit",
+ "integrations/analytics/fathom",
+ "integrations/analytics/google-analytics",
+ "integrations/analytics/google-tag-manager",
+ "integrations/analytics/heap",
+ "integrations/analytics/hotjar",
+ "integrations/analytics/koala",
+ "integrations/analytics/logrocket",
+ "integrations/analytics/mixpanel",
+ "integrations/analytics/pirsch",
+ "integrations/analytics/plausible",
+ "integrations/analytics/posthog",
+ "integrations/analytics/segment"
+ ]
+ },
+ {
+ "group": "SDKs",
+ "icon": "folder-code",
+ "pages": [
+ "integrations/sdks/speakeasy",
+ "integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Support",
+ "icon": "messages-square",
+ "pages": [
+ "integrations/support/overview",
+ "integrations/support/intercom",
+ "integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privacy",
+ "icon": "folder-lock",
+ "pages": [
+ "integrations/privacy/overview",
+ "integrations/privacy/osano"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Version Control and CI/CD",
+ "pages": [
+ "settings/github",
+ "settings/gitlab",
+ "settings/ci",
+ "settings/preview-deployments"
+ ]
+ }
]
},
{
- "group": "Core Configuration",
- "pages": [
- "settings",
- "pages",
- "navigation",
- "themes",
- "settings/custom-domain",
- "ai-ingestion"
+ "dropdown": "API Reference",
+ "icon": "terminal",
+ "description": "Reference for the API",
+ "groups": [
+ {
+ "group": "API Reference",
+ "pages": [
+ "api-reference/introduction"
+ ]
+ },
+ {
+ "group": "Admin",
+ "pages": [
+ "api-reference/update/trigger",
+ "api-reference/update/status"
+ ]
+ },
+ {
+ "group": "Assistant",
+ "pages": [
+ "api-reference/chat/create-topic",
+ "api-reference/chat/generate-message"
+ ]
+ }
]
},
{
- "group": "Components",
- "pages": [
- "text",
- "image-embeds",
- "list-table",
- "code",
- "reusable-snippets",
- "components/accordions",
- "components/callouts",
- "components/cards",
- "components/columns",
- "components/code-groups",
- "components/examples",
- "components/expandables",
- "components/fields",
- "components/frames",
- "components/icons",
- "components/mermaid-diagrams",
- "components/panel",
- "components/steps",
- "components/tabs",
- "components/tooltips",
- "components/update"
+ "dropdown": "Changelog",
+ "icon": "history",
+ "description": "Updates and changes",
+ "groups": [
+ {
+ "group": "Changelog",
+ "pages": [
+ "changelog"
+ ]
+ }
]
- },
+ }
+ ]
+ },
+ {
+ "dropdowns": [
{
- "group": "API Pages",
- "pages": [
- "api-playground/overview",
+ "dropdown": "Dokumentasi",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
{
- "group": "OpenAPI",
- "icon": "file-json",
+ "group": "Memulai",
"pages": [
- "api-playground/openapi/setup",
- "api-playground/openapi/writing-openapi",
- "api-playground/openapi/advanced-features"
+ "id/index",
+ "id/quickstart",
+ "id/installation",
+ "id/editor",
+ "id/support"
]
},
{
- "group": "AsyncAPI",
- "icon": "webhook",
+ "group": "Konfigurasi Inti",
"pages": [
- "api-playground/asyncapi/setup",
- "api-playground/asyncapi/playground"
+ "id/settings",
+ "id/pages",
+ "id/navigation",
+ "id/themes",
+ "id/settings/custom-domain",
+ "id/ai-ingestion"
]
},
{
- "group": "MDX",
- "icon": "markdown",
+ "group": "Komponen",
"pages": [
- "api-playground/mdx/configuration",
- "api-playground/mdx/authentication"
+ "id/text",
+ "id/image-embeds",
+ "id/list-table",
+ "id/code",
+ "id/reusable-snippets",
+ "id/components/accordions",
+ "id/components/callouts",
+ "id/components/cards",
+ "id/components/columns",
+ "id/components/code-groups",
+ "id/components/examples",
+ "id/components/expandables",
+ "id/components/fields",
+ "id/components/frames",
+ "id/components/icons",
+ "id/components/mermaid-diagrams",
+ "id/components/panel",
+ "id/components/steps",
+ "id/components/tabs",
+ "id/components/tooltips",
+ "id/components/update"
+ ]
+ },
+ {
+ "group": "Halaman API",
+ "pages": [
+ "id/api-playground/overview",
+ {
+ "group": "OpenAPI",
+ "icon": "file-json",
+ "pages": [
+ "id/api-playground/openapi/setup",
+ "id/api-playground/openapi/writing-openapi",
+ "id/api-playground/openapi/advanced-features"
+ ]
+ },
+ {
+ "group": "AsyncAPI",
+ "icon": "webhook",
+ "pages": [
+ "id/api-playground/asyncapi/setup",
+ "id/api-playground/asyncapi/playground"
+ ]
+ },
+ {
+ "group": "MDX",
+ "icon": "markdown",
+ "pages": [
+ "id/api-playground/mdx/configuration",
+ "id/api-playground/mdx/authentication"
+ ]
+ },
+ "id/api-playground/troubleshooting"
]
},
- "api-playground/troubleshooting"
- ]
- },
- {
- "group": "Authentication and Personalization",
- "pages": [
- "settings/authentication-personalization/authentication",
- "settings/authentication-personalization/partial-authentication",
- "settings/authentication-personalization/personalization",
- "settings/authentication-personalization/authentication-vs-personalization",
{
- "group": "Authentication Setup",
- "icon": "file-cog",
+ "group": "Autentikasi dan Personalisasi",
"pages": [
- "settings/authentication-personalization/authentication-setup/choosing-a-handshake",
- "settings/authentication-personalization/authentication-setup/password",
- "settings/authentication-personalization/authentication-setup/jwt",
- "settings/authentication-personalization/authentication-setup/oauth",
- "settings/authentication-personalization/authentication-setup/mintlify"
+ "id/settings/authentication-personalization/authentication",
+ "id/settings/authentication-personalization/partial-authentication",
+ "id/settings/authentication-personalization/personalization",
+ "id/settings/authentication-personalization/authentication-vs-personalization",
+ {
+ "group": "Pengaturan Autentikasi",
+ "icon": "file-cog",
+ "pages": [
+ "id/settings/authentication-personalization/authentication-setup/choosing-a-handshake",
+ "id/settings/authentication-personalization/authentication-setup/password",
+ "id/settings/authentication-personalization/authentication-setup/jwt",
+ "id/settings/authentication-personalization/authentication-setup/oauth",
+ "id/settings/authentication-personalization/authentication-setup/mintlify"
+ ]
+ },
+ {
+ "group": "Pengaturan Personalisasi",
+ "icon": "user-cog",
+ "pages": [
+ "id/settings/authentication-personalization/personalization-setup/choosing-a-handshake",
+ "id/settings/authentication-personalization/personalization-setup/shared-session",
+ "id/settings/authentication-personalization/personalization-setup/jwt",
+ "id/settings/authentication-personalization/personalization-setup/oauth"
+ ]
+ },
+ "id/settings/authentication-personalization/sending-data"
]
},
{
- "group": "Personalization Setup",
- "icon": "user-cog",
+ "group": "Panduan",
"pages": [
- "settings/authentication-personalization/personalization-setup/choosing-a-handshake",
- "settings/authentication-personalization/personalization-setup/shared-session",
- "settings/authentication-personalization/personalization-setup/jwt",
- "settings/authentication-personalization/personalization-setup/oauth"
+ "id/guides/migration",
+ "id/mcp",
+ "id/translations",
+ "id/guides/monorepo",
+ "id/react-components",
+ "id/settings/custom-scripts",
+ "id/settings/seo",
+ "id/guides/hidden-pages",
+ "id/settings/broken-links",
+ {
+ "group": "Subdirektori Kustom",
+ "icon": "folder",
+ "pages": [
+ "id/advanced/subpath/cloudflare",
+ "id/advanced/subpath/route53-cloudfront",
+ "id/advanced/subpath/vercel"
+ ]
+ },
+ {
+ "group": "Akses Dashboard",
+ "icon": "gauge",
+ "pages": [
+ "id/advanced/dashboard/sso",
+ "id/advanced/dashboard/permissions",
+ "id/advanced/dashboard/roles"
+ ]
+ }
]
},
- "settings/authentication-personalization/sending-data"
+ {
+ "group": "Integrasi",
+ "pages": [
+ {
+ "group": "Analitik",
+ "icon": "chart-no-axes-combined",
+ "pages": [
+ "id/integrations/analytics/overview",
+ "id/integrations/analytics/amplitude",
+ "id/integrations/analytics/clearbit",
+ "id/integrations/analytics/fathom",
+ "id/integrations/analytics/google-analytics",
+ "id/integrations/analytics/google-tag-manager",
+ "id/integrations/analytics/heap",
+ "id/integrations/analytics/hotjar",
+ "id/integrations/analytics/koala",
+ "id/integrations/analytics/logrocket",
+ "id/integrations/analytics/mixpanel",
+ "id/integrations/analytics/pirsch",
+ "id/integrations/analytics/plausible",
+ "id/integrations/analytics/posthog",
+ "id/integrations/analytics/segment"
+ ]
+ },
+ {
+ "group": "SDK",
+ "icon": "folder-code",
+ "pages": [
+ "id/integrations/sdks/speakeasy",
+ "id/integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Dukungan",
+ "icon": "messages-square",
+ "pages": [
+ "id/integrations/support/overview",
+ "id/integrations/support/intercom",
+ "id/integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privasi",
+ "icon": "folder-lock",
+ "pages": [
+ "id/integrations/privacy/overview",
+ "id/integrations/privacy/osano"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Kontrol Versi dan CI/CD",
+ "pages": [
+ "id/settings/github",
+ "id/settings/gitlab",
+ "id/settings/ci",
+ "id/settings/preview-deployments"
+ ]
+ }
]
},
{
- "group": "Guides",
- "pages": [
- "guides/migration",
- "mcp",
- "translations",
- "guides/monorepo",
- "react-components",
- "settings/custom-scripts",
- "settings/seo",
- "guides/hidden-pages",
- "settings/broken-links",
+ "dropdown": "Referensi API",
+ "icon": "terminal",
+ "description": "Reference for the API",
+ "groups": [
+ {
+ "group": "Referensi API",
+ "pages": [
+ "id/api-reference/introduction"
+ ]
+ },
{
- "group": "Custom Subdirectory",
- "icon": "folder",
+ "group": "Admin",
"pages": [
- "advanced/subpath/cloudflare",
- "advanced/subpath/route53-cloudfront",
- "advanced/subpath/vercel"
+ "id/api-reference/update/trigger",
+ "id/api-reference/update/status"
]
},
{
- "group": "Dashboard Access",
- "icon": "gauge",
+ "group": "Asisten",
"pages": [
- "advanced/dashboard/sso",
- "advanced/dashboard/permissions",
- "advanced/dashboard/roles"
-
+ "id/api-reference/chat/create-topic",
+ "id/api-reference/chat/generate-message"
]
}
]
},
{
- "group": "Integrations",
- "pages": [
+ "dropdown": "Changelog",
+ "icon": "history",
+ "description": "Updates and changes",
+ "groups": [
{
- "group": "Analytics",
- "icon": "chart-no-axes-combined",
+ "group": "Changelog",
"pages": [
- "integrations/analytics/overview",
- "integrations/analytics/amplitude",
- "integrations/analytics/clearbit",
- "integrations/analytics/fathom",
- "integrations/analytics/google-analytics",
- "integrations/analytics/google-tag-manager",
- "integrations/analytics/heap",
- "integrations/analytics/hotjar",
- "integrations/analytics/koala",
- "integrations/analytics/logrocket",
- "integrations/analytics/mixpanel",
- "integrations/analytics/pirsch",
- "integrations/analytics/plausible",
- "integrations/analytics/posthog",
- "integrations/analytics/segment"
+ "id/changelog"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "id"
+ },
+ {
+ "language": "pt-BR",
+ "dropdowns": [
+ {
+ "dropdown": "Documentação",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
+ {
+ "group": "Primeiros Passos",
+ "pages": [
+ "pt-BR/index",
+ "pt-BR/quickstart",
+ "pt-BR/installation",
+ "pt-BR/editor",
+ "pt-BR/support"
]
},
{
- "group": "SDKs",
- "icon": "folder-code",
+ "group": "Configuração Principal",
"pages": [
- "integrations/sdks/speakeasy",
- "integrations/sdks/stainless"
+ "pt-BR/settings",
+ "pt-BR/pages",
+ "pt-BR/navigation",
+ "pt-BR/themes",
+ "pt-BR/settings/custom-domain",
+ "pt-BR/ai-ingestion"
]
},
{
- "group": "Support",
- "icon": "messages-square",
+ "group": "Componentes",
"pages": [
- "integrations/support/overview",
- "integrations/support/intercom",
- "integrations/support/front"
+ "pt-BR/text",
+ "pt-BR/image-embeds",
+ "pt-BR/list-table",
+ "pt-BR/code",
+ "pt-BR/reusable-snippets",
+ "pt-BR/components/accordions",
+ "pt-BR/components/callouts",
+ "pt-BR/components/cards",
+ "pt-BR/components/columns",
+ "pt-BR/components/code-groups",
+ "pt-BR/components/examples",
+ "pt-BR/components/expandables",
+ "pt-BR/components/fields",
+ "pt-BR/components/frames",
+ "pt-BR/components/icons",
+ "pt-BR/components/mermaid-diagrams",
+ "pt-BR/components/panel",
+ "pt-BR/components/steps",
+ "pt-BR/components/tabs",
+ "pt-BR/components/tooltips",
+ "pt-BR/components/update"
]
},
{
- "group": "Privacy",
- "icon": "folder-lock",
+ "group": "Páginas de API",
"pages": [
- "integrations/privacy/overview",
- "integrations/privacy/osano"
+ "pt-BR/api-playground/overview",
+ {
+ "group": "OpenAPI",
+ "icon": "file-json",
+ "pages": [
+ "pt-BR/api-playground/openapi/setup",
+ "pt-BR/api-playground/openapi/writing-openapi",
+ "pt-BR/api-playground/openapi/advanced-features"
+ ]
+ },
+ {
+ "group": "AsyncAPI",
+ "icon": "webhook",
+ "pages": [
+ "pt-BR/api-playground/asyncapi/setup",
+ "pt-BR/api-playground/asyncapi/playground"
+ ]
+ },
+ {
+ "group": "MDX",
+ "icon": "markdown",
+ "pages": [
+ "pt-BR/api-playground/mdx/configuration",
+ "pt-BR/api-playground/mdx/authentication"
+ ]
+ },
+ "pt-BR/api-playground/troubleshooting"
+ ]
+ },
+ {
+ "group": "Autenticação e Personalização",
+ "pages": [
+ "pt-BR/settings/authentication-personalization/authentication",
+ "pt-BR/settings/authentication-personalization/partial-authentication",
+ "pt-BR/settings/authentication-personalization/personalization",
+ "pt-BR/settings/authentication-personalization/authentication-vs-personalization",
+ {
+ "group": "Configuração de Autenticação",
+ "icon": "file-cog",
+ "pages": [
+ "pt-BR/settings/authentication-personalization/authentication-setup/choosing-a-handshake",
+ "pt-BR/settings/authentication-personalization/authentication-setup/password",
+ "pt-BR/settings/authentication-personalization/authentication-setup/jwt",
+ "pt-BR/settings/authentication-personalization/authentication-setup/oauth",
+ "pt-BR/settings/authentication-personalization/authentication-setup/mintlify"
+ ]
+ },
+ {
+ "group": "Configuração de Personalização",
+ "icon": "user-cog",
+ "pages": [
+ "pt-BR/settings/authentication-personalization/personalization-setup/choosing-a-handshake",
+ "pt-BR/settings/authentication-personalization/personalization-setup/shared-session",
+ "pt-BR/settings/authentication-personalization/personalization-setup/jwt",
+ "pt-BR/settings/authentication-personalization/personalization-setup/oauth"
+ ]
+ },
+ "pt-BR/settings/authentication-personalization/sending-data"
+ ]
+ },
+ {
+ "group": "Guias",
+ "pages": [
+ "pt-BR/guides/migration",
+ "pt-BR/mcp",
+ "pt-BR/translations",
+ "pt-BR/guides/monorepo",
+ "pt-BR/react-components",
+ "pt-BR/settings/custom-scripts",
+ "pt-BR/settings/seo",
+ "pt-BR/guides/hidden-pages",
+ "pt-BR/settings/broken-links",
+ {
+ "group": "Subdiretório Personalizado",
+ "icon": "folder",
+ "pages": [
+ "pt-BR/advanced/subpath/cloudflare",
+ "pt-BR/advanced/subpath/route53-cloudfront",
+ "pt-BR/advanced/subpath/vercel"
+ ]
+ },
+ {
+ "group": "Acesso ao Painel",
+ "icon": "gauge",
+ "pages": [
+ "pt-BR/advanced/dashboard/sso",
+ "pt-BR/advanced/dashboard/permissions",
+ "pt-BR/advanced/dashboard/roles"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Integrações",
+ "pages": [
+ {
+ "group": "Análises",
+ "icon": "chart-no-axes-combined",
+ "pages": [
+ "pt-BR/integrations/analytics/overview",
+ "pt-BR/integrations/analytics/amplitude",
+ "pt-BR/integrations/analytics/clearbit",
+ "pt-BR/integrations/analytics/fathom",
+ "pt-BR/integrations/analytics/google-analytics",
+ "pt-BR/integrations/analytics/google-tag-manager",
+ "pt-BR/integrations/analytics/heap",
+ "pt-BR/integrations/analytics/hotjar",
+ "pt-BR/integrations/analytics/koala",
+ "pt-BR/integrations/analytics/logrocket",
+ "pt-BR/integrations/analytics/mixpanel",
+ "pt-BR/integrations/analytics/pirsch",
+ "pt-BR/integrations/analytics/plausible",
+ "pt-BR/integrations/analytics/posthog",
+ "pt-BR/integrations/analytics/segment"
+ ]
+ },
+ {
+ "group": "SDKs",
+ "icon": "folder-code",
+ "pages": [
+ "pt-BR/integrations/sdks/speakeasy",
+ "pt-BR/integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Suporte",
+ "icon": "messages-square",
+ "pages": [
+ "pt-BR/integrations/support/overview",
+ "pt-BR/integrations/support/intercom",
+ "pt-BR/integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privacidade",
+ "icon": "folder-lock",
+ "pages": [
+ "pt-BR/integrations/privacy/overview",
+ "pt-BR/integrations/privacy/osano"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Controle de Versão e CI/CD",
+ "pages": [
+ "pt-BR/settings/github",
+ "pt-BR/settings/gitlab",
+ "pt-BR/settings/ci",
+ "pt-BR/settings/preview-deployments"
+ ]
+ }
+ ]
+ },
+ {
+ "dropdown": "Referência da API",
+ "icon": "terminal",
+ "description": "Reference for the API",
+ "groups": [
+ {
+ "group": "Referência da API",
+ "pages": [
+ "pt-BR/api-reference/introduction"
+ ]
+ },
+ {
+ "group": "Admin",
+ "pages": [
+ "pt-BR/api-reference/update/trigger",
+ "pt-BR/api-reference/update/status"
+ ]
+ },
+ {
+ "group": "Assistente",
+ "pages": [
+ "pt-BR/api-reference/chat/create-topic",
+ "pt-BR/api-reference/chat/generate-message"
]
}
]
},
{
- "group": "Version Control and CI/CD",
- "pages": [
- "settings/github",
- "settings/gitlab",
- "settings/ci",
- "settings/preview-deployments"
+ "dropdown": "Registro de Alterações",
+ "icon": "history",
+ "description": "Updates and changes",
+ "groups": [
+ {
+ "group": "Registro de Alterações",
+ "pages": [
+ "pt-BR/changelog"
+ ]
+ }
]
}
]
},
{
- "dropdown": "API Reference",
- "description": "Reference for the API",
- "icon": "terminal",
- "groups": [
+ "language": "es",
+ "dropdowns": [
{
- "group": "API Reference",
- "pages": [
- "api-reference/introduction"
+ "dropdown": "Documentación",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
+ {
+ "group": "Primeros pasos",
+ "pages": [
+ "es/index",
+ "es/quickstart",
+ "es/installation",
+ "es/editor",
+ "es/support"
+ ]
+ },
+ {
+ "group": "Configuración principal",
+ "pages": [
+ "es/settings",
+ "es/pages",
+ "es/navigation",
+ "es/themes",
+ "es/settings/custom-domain",
+ "es/ai-ingestion"
+ ]
+ },
+ {
+ "group": "Componentes",
+ "pages": [
+ "es/text",
+ "es/image-embeds",
+ "es/list-table",
+ "es/code",
+ "es/reusable-snippets",
+ "es/components/accordions",
+ "es/components/callouts",
+ "es/components/cards",
+ "es/components/columns",
+ "es/components/code-groups",
+ "es/components/examples",
+ "es/components/expandables",
+ "es/components/fields",
+ "es/components/frames",
+ "es/components/icons",
+ "es/components/mermaid-diagrams",
+ "es/components/panel",
+ "es/components/steps",
+ "es/components/tabs",
+ "es/components/tooltips",
+ "es/components/update"
+ ]
+ },
+ {
+ "group": "Páginas de API",
+ "pages": [
+ "es/api-playground/overview",
+ {
+ "group": "OpenAPI",
+ "icon": "file-json",
+ "pages": [
+ "es/api-playground/openapi/setup",
+ "es/api-playground/openapi/writing-openapi",
+ "es/api-playground/openapi/advanced-features"
+ ]
+ },
+ {
+ "group": "AsyncAPI",
+ "icon": "webhook",
+ "pages": [
+ "es/api-playground/asyncapi/setup",
+ "es/api-playground/asyncapi/playground"
+ ]
+ },
+ {
+ "group": "MDX",
+ "icon": "markdown",
+ "pages": [
+ "es/api-playground/mdx/configuration",
+ "es/api-playground/mdx/authentication"
+ ]
+ },
+ "es/api-playground/troubleshooting"
+ ]
+ },
+ {
+ "group": "Autenticación y Personalización",
+ "pages": [
+ "es/settings/authentication-personalization/authentication",
+ "es/settings/authentication-personalization/partial-authentication",
+ "es/settings/authentication-personalization/personalization",
+ "es/settings/authentication-personalization/authentication-vs-personalization",
+ {
+ "group": "Configuración de autenticación",
+ "icon": "file-cog",
+ "pages": [
+ "es/settings/authentication-personalization/authentication-setup/choosing-a-handshake",
+ "es/settings/authentication-personalization/authentication-setup/password",
+ "es/settings/authentication-personalization/authentication-setup/jwt",
+ "es/settings/authentication-personalization/authentication-setup/oauth",
+ "es/settings/authentication-personalization/authentication-setup/mintlify"
+ ]
+ },
+ {
+ "group": "Configuración de personalización",
+ "icon": "user-cog",
+ "pages": [
+ "es/settings/authentication-personalization/personalization-setup/choosing-a-handshake",
+ "es/settings/authentication-personalization/personalization-setup/shared-session",
+ "es/settings/authentication-personalization/personalization-setup/jwt",
+ "es/settings/authentication-personalization/personalization-setup/oauth"
+ ]
+ },
+ "es/settings/authentication-personalization/sending-data"
+ ]
+ },
+ {
+ "group": "Guías",
+ "pages": [
+ "es/guides/migration",
+ "es/mcp",
+ "es/translations",
+ "es/guides/monorepo",
+ "es/react-components",
+ "es/settings/custom-scripts",
+ "es/settings/seo",
+ "es/guides/hidden-pages",
+ "es/settings/broken-links",
+ {
+ "group": "Subdirectorio personalizado",
+ "icon": "folder",
+ "pages": [
+ "es/advanced/subpath/cloudflare",
+ "es/advanced/subpath/route53-cloudfront",
+ "es/advanced/subpath/vercel"
+ ]
+ },
+ {
+ "group": "Acceso al panel",
+ "icon": "gauge",
+ "pages": [
+ "es/advanced/dashboard/sso",
+ "es/advanced/dashboard/permissions",
+ "es/advanced/dashboard/roles"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Integraciones",
+ "pages": [
+ {
+ "group": "Analíticas",
+ "icon": "chart-no-axes-combined",
+ "pages": [
+ "es/integrations/analytics/overview",
+ "es/integrations/analytics/amplitude",
+ "es/integrations/analytics/clearbit",
+ "es/integrations/analytics/fathom",
+ "es/integrations/analytics/google-analytics",
+ "es/integrations/analytics/google-tag-manager",
+ "es/integrations/analytics/heap",
+ "es/integrations/analytics/hotjar",
+ "es/integrations/analytics/koala",
+ "es/integrations/analytics/logrocket",
+ "es/integrations/analytics/mixpanel",
+ "es/integrations/analytics/pirsch",
+ "es/integrations/analytics/plausible",
+ "es/integrations/analytics/posthog",
+ "es/integrations/analytics/segment"
+ ]
+ },
+ {
+ "group": "SDKs",
+ "icon": "folder-code",
+ "pages": [
+ "es/integrations/sdks/speakeasy",
+ "es/integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Soporte",
+ "icon": "messages-square",
+ "pages": [
+ "es/integrations/support/overview",
+ "es/integrations/support/intercom",
+ "es/integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privacidad",
+ "icon": "folder-lock",
+ "pages": [
+ "es/integrations/privacy/overview",
+ "es/integrations/privacy/osano"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Control de versiones y CI/CD",
+ "pages": [
+ "es/settings/github",
+ "es/settings/gitlab",
+ "es/settings/ci",
+ "es/settings/preview-deployments"
+ ]
+ }
]
},
{
- "group": "Admin",
- "pages": [
- "api-reference/update/trigger",
- "api-reference/update/status"
+ "dropdown": "Referencia de API",
+ "icon": "terminal",
+ "description": "Reference for the API",
+ "groups": [
+ {
+ "group": "Referencia de API",
+ "pages": [
+ "es/api-reference/introduction"
+ ]
+ },
+ {
+ "group": "Admin",
+ "pages": [
+ "es/api-reference/update/trigger",
+ "es/api-reference/update/status"
+ ]
+ },
+ {
+ "group": "Asistente",
+ "pages": [
+ "es/api-reference/chat/create-topic",
+ "es/api-reference/chat/generate-message"
+ ]
+ }
]
},
{
- "group": "Assistant",
- "pages": [
- "api-reference/chat/create-topic",
- "api-reference/chat/generate-message"
- ]
- }
- ]
- },
- {
- "dropdown": "Changelog",
- "icon": "history",
- "description": "Updates and changes",
- "groups": [
- {
- "group": "Changelog",
- "pages": [
- "changelog"
+ "dropdown": "Registro de cambios",
+ "icon": "history",
+ "description": "Updates and changes",
+ "groups": [
+ {
+ "group": "Registro de cambios",
+ "pages": [
+ "es/changelog"
+ ]
+ }
]
}
]
}
]
},
- "logo": {
- "light": "/logo/light.svg",
- "dark": "/logo/dark.svg",
- "href": "https://mintlify.com"
- },
- "api": {
- "mdx": {
- "auth": {
- "method": "bearer"
- }
- }
- },
- "navbar": {
- "links": [
- {
- "label": "Community",
- "href": "https://mintlify.com/community"
- }
- ],
- "primary": {
- "type": "button",
- "label": "Get Started",
- "href": "https://mintlify.com/start"
- }
- },
"footer": {
"socials": {
"x": "https://x.com/mintlify",
@@ -363,6 +1126,9 @@
}
]
},
+ "icons": {
+ "library": "lucide"
+ },
"integrations": {
"ga4": {
"measurementId": "G-RCYWHL7EQ7"
diff --git a/es/advanced/dashboard/permissions.mdx b/es/advanced/dashboard/permissions.mdx
new file mode 100644
index 00000000..19e6d0f1
--- /dev/null
+++ b/es/advanced/dashboard/permissions.mdx
@@ -0,0 +1,16 @@
+---
+- title: Permisos de Editor
+- description: Permite que más miembros de tu equipo actualicen tus documentos
+---
+
+El miembro del equipo que creó tus documentos iniciales tendrá acceso de actualización a tus documentos, siempre y cuando haga push al repositorio de documentación con la misma cuenta de GitHub que se usó al registrarse en Mintlify.
+
+Si otro editor intenta actualizar los documentos mientras está en el plan gratuito, verás una advertencia en la verificación de tu commit de git.
+
+
+
+
+
+En los detalles de la advertencia de verificación de git, encontrarás el enlace para actualizar tu plan. También puedes actualizar tu plan en el [panel de control](https://dashboard.mintlify.com) para permitir que editores ilimitados actualicen tus documentos. Una vez que actualices tu plan, activa una actualización manual o haz push de otro cambio para implementar tus actualizaciones.
+
+Aprende más sobre nuestros precios [aquí](https://mintlify.com/pricing).
diff --git a/es/advanced/dashboard/roles.mdx b/es/advanced/dashboard/roles.mdx
new file mode 100644
index 00000000..f6e4ac4b
--- /dev/null
+++ b/es/advanced/dashboard/roles.mdx
@@ -0,0 +1,22 @@
+---
+- title: Roles
+- description: Controla el acceso a tu panel con roles.
+---
+
+Mintlify proporciona dos niveles de acceso al panel: Editor y Admin.
+
+Lo siguiente describe las acciones que están limitadas al rol de Admin:
+
+| | Editor | Admin |
+| ---------------------------------- | :----: | :---: |
+| Actualizar roles de usuario | ❌ | ✅ |
+| Eliminar usuarios | ❌ | ✅ |
+| Invitar usuarios admin | ❌ | ✅ |
+| Gestionar y actualizar facturación | ❌ | ✅ |
+| Actualizar dominio personalizado | ❌ | ✅ |
+| Actualizar fuente Git | ❌ | ✅ |
+| Eliminar organización | ❌ | ✅ |
+
+Otras acciones en el panel están disponibles para ambos roles.
+
+Puedes invitar a tantos administradores como quieras, pero recomendamos limitar el acceso de administrador a los usuarios que lo necesiten.
diff --git a/es/advanced/dashboard/sso.mdx b/es/advanced/dashboard/sso.mdx
new file mode 100644
index 00000000..8583adee
--- /dev/null
+++ b/es/advanced/dashboard/sso.mdx
@@ -0,0 +1,105 @@
+---
+- title: Inicio de Sesión Único (SSO)
+- description: Personalice cómo su equipo puede iniciar sesión en su panel de administración
+---
+
+
+ La funcionalidad SSO está disponible en nuestro[plan Enterprise](https://mintlify.com/pricing?ref=sso). Por favor{" "}
+ contacta con ventaspara más información.
+
+
+Usa inicio de sesión único en tu dashboard a través de SAML y OIDC. Si usas Okta o Google Workspace, tenemos documentación específica para configurar SSO, pero si usas otro proveedor, ¡por favor contáctanos!
+
+## Okta
+
+
+
+
+
+ Bajo`Applications`, haga clic para crear una nueva integración de aplicación usando SAML 2.0.
+
+
+
+ Ingrese lo siguiente:
+
+ * URL de inicio de sesión único (proporcionada por Mintlify)
+ * URI de audiencia (proporcionada por Mintlify)
+ * Formato de ID de nombre:`EmailAddress`
+ * Declaraciones de atributos:
+ | Nombre | Formato de nombre | Valor |
+ | ----------- | ----------------- | ---------------- |
+ | `firstName` | Basic | `user.firstName` |
+ | `lastName` | Basic | `user.lastName` |
+
+
+
+ Una vez que la aplicación esté configurada, navegue a la pestaña de inicio de sesión y envíenos la URL de metadatos.
+ Habilitaremos la conexión desde nuestro lado usando esta información.
+
+
+
+
+
+
+
+ Bajo`Applications`, haga clic para crear una nueva integración de aplicación usando OIDC.
+ Debe elegir el tipo de aplicación`Web Application`.
+
+
+
+ Seleccione el tipo de concesión de código de autorización e ingrese la URI de redirección proporcionada por Mintlify.
+
+
+
+ Una vez que la aplicación esté configurada, navegue a la pestaña General y localice el ID de cliente y el secreto del cliente.
+ Por favor, proporciónenos estos de manera segura, junto con la URL de su instancia de Okta (por ejemplo,`.okta.com`). Puede enviar estos a través de un servicio como 1Password o SendSafely.
+
+
+
+
+
+## Google Workspace
+
+
+
+
+
+ Bajo`Web and mobile apps`, seleccione`Add custom SAML app`del menú desplegable`Add app`.
+
+
+ 
+
+
+
+
+ Copie la URL de SSO proporcionada, el ID de entidad y el certificado x509 y envíelos al equipo de Mintlify.
+
+
+ 
+
+
+
+
+ En la página de detalles del proveedor de servicios, ingrese lo siguiente:
+
+ * URL de ACS (proporcionada por Mintlify)
+ * ID de entidad (proporcionado por Mintlify)
+ * Formato de ID de nombre:`EMAIL`
+ * ID de nombre:`Basic Information > Primary email`
+
+
+ 
+
+
+ En la siguiente página, ingrese las siguientes declaraciones de atributos:
+
+ | Atributo del Directorio de Google | Atributo de la aplicación |
+ | --------------------------------- | ------------------------- |
+ | `First name` | `firstName` |
+ | `Last name` | `lastName` |
+
+ Una vez que este paso esté completo y los usuarios estén asignados a la aplicación, informe a nuestro equipo y habilitaremos el SSO para su cuenta.
+
+
+
+
diff --git a/es/advanced/subpath/cloudflare.mdx b/es/advanced/subpath/cloudflare.mdx
new file mode 100644
index 00000000..28f9af72
--- /dev/null
+++ b/es/advanced/subpath/cloudflare.mdx
@@ -0,0 +1,72 @@
+---
+- title: Cloudflare
+- description: Aloja documentación en una subruta /docs usando Cloudflare Workers
+---
+
+## Crear Worker de Cloudflare
+
+Navega a la`Workers & Pages > Create application > Create worker`. Se te presentará la siguiente pantalla donde puedes crear un nuevo worker de Cloudflare.
+
+
+
+
+
+
+ Ten en cuenta: Si tu proveedor de DNS es Cloudflare, no debes usar el proxy para el registro CNAME
+
+
+### Agregar dominio personalizado
+
+Una vez que se ha creado el worker, haz clic en`Configure worker`. Navega al worker`Settings > Triggers`. Haz clic en`Add Custom Domain` para agregar tu dominio deseado a la lista - recomendamos que agregues tanto la versión con como sin`www.`antepuesto al dominio.
+
+
+
+
+
+Si tienes problemas para configurar un subdirectorio personalizado,[contacta a nuestro equipo de soporte](mailto:sales@mintlify.com) y te guiaremos a través del proceso de actualización de tu alojamiento con nosotros.
+
+### Editar Script del Worker
+
+Haz clic en`Edit Code` y agrega el siguiente script en el código del worker.
+
+
+
+
+
+
+ Edita`DOCS_URL` reemplazando`[SUBDOMAIN]` con tu subdominio único y`CUSTOM_URL` con la URL base de tu sitio web.
+
+
+```javascript
+addEventListener("fetch", (event) => {
+ event.respondWith(handleRequest(event.request));
+});
+
+async function handleRequest(request) {
+ try {
+ const urlObject = new URL(request.url);
+ // If the request is to the docs subdirectory
+ if (/^\/docs/.test(urlObject.pathname)) {
+ // Then Proxy to 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");
+
+ return await fetch(proxyRequest);
+ }
+ } catch (error) {
+ // if no action found, play the regular request
+ return await fetch(request);
+ }
+}
+```
+
+Haz clic en`Deploy` y espera a que los cambios se propaguen (puede tomar hasta unas pocas horas).
diff --git a/es/advanced/subpath/route53-cloudfront.mdx b/es/advanced/subpath/route53-cloudfront.mdx
new file mode 100644
index 00000000..5a5a7506
--- /dev/null
+++ b/es/advanced/subpath/route53-cloudfront.mdx
@@ -0,0 +1,137 @@
+---
+- title: AWS Route 53 y Cloudfront
+- sidebarTitle: AWS
+- description: Aloja la documentación en un subdirectorio /docs usando servicios de AWS
+---
+
+## Crear Distribución de Cloudfront
+
+Navega a [Cloudfront](https://aws.amazon.com/cloudfront) dentro de la consola de AWS y haz clic en `Create distribution`
+
+
+ 
+
+
+Para el dominio de Origen, ingresa `[SUBDOMAIN].mintlify.dev` donde `[SUBDOMAIN]` es el subdominio único del proyecto. Haz clic en `Use: [SUBDOMAIN].mintlify.dev`
+
+
+
+Para **Cache key and origin requests**, selecciona `Caching Optimized`.
+
+
+ 
+
+
+Y para **Web Application Firewall (WAF)**, habilita las protecciones de seguridad
+
+
+ 
+
+
+El resto de las configuraciones deben ser las predeterminadas. Haz clic en `Create distribution`.
+
+## Añadir Origen Predeterminado
+
+Después de crear la distribución, navega a la pestaña `Origins`.
+
+
+
+Queremos encontrar una URL de staging que refleje dónde está el dominio principal (example.com). Esto varía mucho dependiendo de cómo esté alojada tu página de inicio.
+
+
+ Por ejemplo, si tu página de inicio está alojada en Webflow, puedes usar la URL de staging de Webflow. Se vería como `.webflow.io`.
+
+ Si usas Vercel, puedes usar el dominio `.vercel.app` disponible para cada proyecto.
+
+
+
+ Si no estás seguro de cómo obtener una URL de staging para tu página de inicio, [contact
+ support](mailto:support@mintlify.com) y estaremos encantados de ayudarte
+
+
+Una vez que tengas la URL de staging, la nuestra por ejemplo es [mintlify-landing-page.vercel.app](https://mintlify-landing-page.vercel.app), crea un nuevo Origen y añádelo como el **Origin domain**.
+
+
+ 
+
+
+En este punto, deberías tener dos Orígenes - uno con `[SUBDOMAIN].mintlify.app` y otro con la URL de staging.
+
+## Configurar Comportamientos
+
+Los Comportamientos en Cloudfront permiten controlar la lógica de subrutas. A alto nivel, buscamos crear la siguiente lógica.
+
+* **Si un usuario llega a /docs**, ir a `[SUBDOMAIN].mintlify.dev`
+* **Si un usuario llega a cualquier otra página**, ir a la página de inicio actual
+
+Vamos a crear tres comportamientos haciendo clic en el botón `Create behavior`.
+
+### `/docs/*`
+
+El primer comportamiento debe tener un **Path pattern** de `/docs/*` con **Origin and origin groups** apuntando al `.mintlify.dev` URL (en nuestro caso `acme.mintlify.dev`)
+
+
+
+Para **Cache policy**, selecciona `CachingOptimized` y crea el comportamiento.
+
+### `/docs`
+
+El segundo comportamiento debe ser igual al primero pero con un **Path pattern** de `/docs` y **Origin and origin groups** apuntando al mismo `.mintlify.dev` URL.
+
+
+
+### `Default (*)`
+
+Por último, vamos a editar el comportamiento `Default (*)`.
+
+
+ 
+
+
+Vamos a cambiar el **Origin and origin groups** del comportamiento predeterminado a la URL de staging (en nuestro caso `mintlify-landing-page.vercel.app`).
+
+
+ 
+
+
+Haz clic en `Save changes`.
+
+## Preview Distribution
+
+Ahora puedes probar si tu distribución está configurada correctamente yendo a la pestaña `General` y visitando la URL del **Distribution domain name**.
+
+
+ 
+
+
+Todas las páginas deberían dirigirse a tu página principal, pero si añades `/docs` a la URL, deberías ver que se dirige a la instancia de documentación de Mintlify.
+
+## Conectándolo 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 dirigir el 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)
+
+
+Navega a [Route53](https://aws.amazon.com/route53) dentro de la consola de AWS, y haz clic en el `Hosted zone` de tu dominio principal. Haz clic en `Create record`
+
+
+ 
+
+
+Toggle `Alias` y luego **Route traffic to** la opción `Alias to CloudFront distribution`.
+
+
+ 
+
+
+Haz clic en `Create records`.
+
+
+ Es posible que necesites eliminar el registro A existente si hay uno actualmente.
+
+
+¡Y voilà! Deberías poder tener tu documentación servida en `/docs` para tu dominio principal.
diff --git a/es/advanced/subpath/vercel.mdx b/es/advanced/subpath/vercel.mdx
new file mode 100644
index 00000000..82aa84bf
--- /dev/null
+++ b/es/advanced/subpath/vercel.mdx
@@ -0,0 +1,30 @@
+---
+- title: Vercel
+- description: Alojar documentación en una subruta /docs usando Vercel
+---
+
+## Configuración de vercel.json
+
+Para alojar su documentación en una subruta personalizada usando Vercel, necesita agregar la
+siguiente configuración a su `vercel.json` archivo.
+
+```json
+{
+ "rewrites": [
+ {
+ "source": "/docs",
+ "destination": "https://[subdomain].mintlify.dev/docs"
+ },
+ {
+ "source": "/docs/:match*",
+ "destination": "https://[subdomain].mintlify.dev/docs/:match*"
+ }
+ ]
+}
+```
+
+
+ Para más información, también puede consultar la guía oficial de Vercel sobre
+ reescrituras: [Project Configuration:
+ Rewrites](https://vercel.com/docs/projects/project-configuration#rewrites)
+
diff --git a/es/ai-ingestion.mdx b/es/ai-ingestion.mdx
new file mode 100644
index 00000000..cfdf0235
--- /dev/null
+++ b/es/ai-ingestion.mdx
@@ -0,0 +1,77 @@
+---
+- title: Ingestión de IA
+- description: Prepare su documentación para LLMs y herramientas de IA
+- icon: bot-message-square
+---
+
+export const PreviewButton = ({ children, href }) => {
+ return (
+
+ {children}
+
+ )
+}
+
+Mintlify genera formatos optimizados y proporciona atajos que ayudan a los usuarios a obtener respuestas más rápidas y precisas cuando utilizan su documentación como contexto para LLMs y herramientas de IA.
+
+## Menú contextual
+
+Proporcione acceso rápido a contenido optimizado para IA e integraciones directas con herramientas de IA populares desde un menú contextual en sus páginas.
+
+* **Copiar página**: Copia la página actual como Markdown para pegar como contexto en herramientas de IA.
+* **Ver como Markdown**: Abre la página actual como Markdown.
+* **Abrir en ChatGPT**: Crea una conversación de ChatGPT con la página actual como contexto.
+* **Abrir en Claude**: Crea una conversación de Claude con la página actual como contexto.
+
+
+
+
+
+
+
+### Habilitando el menú contextual
+
+Agregue el `contextual` campo a su `docs.json` y especifique qué opciones desea incluir en su menú.
+
+```json
+{
+ "contextual": {
+ "options": [
+ "copy",
+ "view",
+ "chatgpt",
+ "claude"
+ ]
+ }
+}
+```
+
+## /llms.txt
+
+El [/llms.txt file](https://llmstxt.org) es un estándar de la industria que ayuda a los LLMs de propósito general a indexar de manera más eficiente, similar a cómo un mapa del sitio ayuda a los motores de búsqueda.
+
+Cada sitio de documentación aloja automáticamente un archivo `/llms.txt` en la raíz que enumera todas las páginas disponibles en su documentación. Las herramientas de IA pueden usar este archivo para comprender la estructura de su documentación y encontrar contenido relevante para las solicitudes de los usuarios.
+
+Abrir llms.txt para este sitio
+
+## /llms-full.txt
+
+El archivo `/llms-full.txt` combina todo su sitio de documentación en un solo archivo como contexto para herramientas de IA.
+
+Cada sitio de documentación aloja automáticamente un archivo `/llms-full.txt` en la raíz.
+
+Abrir llms-full.txt para este sitio
+
+## Generando versiones Markdown de las páginas
+
+Markdown proporciona texto estructurado que las herramientas de IA pueden procesar de manera más eficiente que HTML, lo que resulta en mejores tiempos de respuesta y menor uso de tokens.
+
+### .md extension
+
+Agregue una `.md` a la URL de una página para mostrar una versión Markdown de esa página.
+
+Abrir quickstart.md
+
+### Atajo Command + C
+
+Seleccione Command + C (Ctrl + C en Windows) para copiar cualquier página como Markdown.
diff --git a/es/api-playground/asyncapi/playground.mdx b/es/api-playground/asyncapi/playground.mdx
new file mode 100644
index 00000000..db3e5d64
--- /dev/null
+++ b/es/api-playground/asyncapi/playground.mdx
@@ -0,0 +1,5 @@
+---
+- title: Playground
+- description: Permite a los usuarios interactuar 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 00000000..4485380b
--- /dev/null
+++ b/es/api-playground/asyncapi/setup.mdx
@@ -0,0 +1,80 @@
+---
+- title: Configuración de AsyncAPI
+- description: Crear páginas de referencia de websocket con AsyncAPI
+---
+
+## Agregar un archivo de especificación AsyncAPI
+
+Para comenzar a crear páginas para sus websockets, asegúrese de tener un documento de esquema AsyncAPI válido en formato JSON o YAML que siga la[especificación AsyncAPI](https://www.asyncapi.com/docs/reference/specification/v3.0.0). Su esquema debe seguir la especificación AsyncAPI 3.0+.
+
+
+ Para asegurarse de que su esquema AsyncAPI es válido, puede pegarlo en el
+ [AsyncAPI Studio](https://studio.asyncapi.com/)
+
+
+## Auto-poblar páginas de websockets
+
+Puede agregar un campo`asyncapi`a cualquier pestaña o grupo en la navegación de su`docs.json`. Este campo puede contener la ruta a un documento de esquema AsyncAPI en el repositorio de su documentación, la URL de un documento de esquema AsyncAPI alojado, o un array de enlaces a documentos de esquema AsyncAPI. Mintlify generará automáticamente una página para cada canal de websocket 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": "api-reference"
+ }
+ }
+ ]
+ }
+ ]
+}
+```
+
+
+ El campo directory es opcional. Si no se especifica, los archivos se colocarán en la carpeta**api-reference**del repositorio de documentación.
+
+
+## Página de Canal
+
+Si desea tener más control sobre cómo ordena sus canales o si solo quiere hacer referencia a un solo canal, puede crear un archivo MDX con el campo`asyncapi`en el frontmatter.
+
+```mdx
+---
+title: "Websocket Channel"
+asyncapi: "/path/to/asyncapi.json channelName"
+---
+```
diff --git a/es/api-playground/mdx/authentication.mdx b/es/api-playground/mdx/authentication.mdx
new file mode 100644
index 00000000..c2e9f7c4
--- /dev/null
+++ b/es/api-playground/mdx/authentication.mdx
@@ -0,0 +1,88 @@
+---
+- title: Autenticación
+- description: Puedes establecer parámetros de autenticación para permitir que los
+ usuarios utilicen sus claves de API reales.
+---
+
+## Habilitación de la autenticación
+
+Puedes agregar un método de autenticación a tu docs.json para habilitarlo en cada página o puedes configurarlo página por página.
+
+El método de autenticación de la página anulará docs.json si ambos están configurados.
+
+### Token de portador
+
+
+ ```json docs.json
+ "api": {
+ "mdx": {
+ "auth": {
+ "method": "bearer"
+ }
+ }
+ }
+ ```
+
+ ```md Page Metadata
+ ---
+ title: "Your page title"
+ authMethod: "bearer"
+ ---
+ ```
+
+
+### Autenticación básica
+
+
+ ```json docs.json
+ "api": {
+ "mdx": {
+ "auth": {
+ "method": "basic"
+ }
+ }
+ }
+ ```
+
+ ```md Page Metadata
+ ---
+ title: "Your page title"
+ authMethod: "basic"
+ ---
+ ```
+
+
+### Clave de API
+
+
+ ```json docs.json
+ "api": {
+ "mdx": {
+ "auth": {
+ "method": "key",
+ "name": "x-api-key"
+ }
+ }
+ }
+ ```
+
+ ```md Page Metadata
+ ---
+ title: "Your page title"
+ authMethod: "key"
+ ---
+ ```
+
+
+### Ninguno
+
+El método de autenticación "ninguno" es útil para deshabilitar la autenticación en un punto final específico después de establecer un valor predeterminado en docs.json.
+
+
+ ```md 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 00000000..73bee348
--- /dev/null
+++ b/es/api-playground/mdx/configuration.mdx
@@ -0,0 +1,70 @@
+---
+- title: Configuración MDX
+- description: Generar páginas de documentación para sus endpoints de API usando MDX
+---
+
+Mintlify le permite definir sus endpoints de API utilizando una combinación de configuración`docs.json`, campos de metadatos MDX y el componente``. A partir de los endpoints definidos, generamos un área de juego de API, ejemplos de solicitudes y ejemplos de respuestas.
+
+
+
+ En su archivo`docs.json`, defina su URL base y 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 no desea mostrar un área de juego de API, no necesita incluir tipos de autenticación. Oculte el área de juego con el siguiente campo:
+
+ ```json
+ "api": {
+ "playground": {
+ "display": "none"
+ }
+ }
+ ```
+
+ Encuentre una lista completa de configuraciones de API[aquí](settings#param-api).
+
+
+
+ Cada página de endpoint de API debe tener un archivo MDX correspondiente. En la parte superior de cada archivo, defina:
+
+ ```md
+ ---
+ title: 'Create new user'
+ api: 'POST https://api.mintlify.com/user'
+ ---
+ ```
+
+ Puede especificar parámetros de ruta agregando el nombre del parámetro a la ruta, envuelto con`{}`:
+
+ ```bash
+ https://api.example.com/v1/endpoint/{userId}
+ ```
+
+
+ Si tiene`server`configurado en[docs.json](settings), puede usar rutas relativas como`/v1/endpoint`.
+
+
+ También puede anular el modo de visualización definido globalmente para el área de juego de API por página agregando`playground`en la parte superior del archivo MDX:
+
+ ```md
+ ---
+ title: 'Create new user'
+ api: 'POST https://api.mintlify.com/user'
+ playground: 'none'
+ ```
+
+
+
+ Agregue sus páginas de endpoints a la barra lateral añadiendo las rutas al campo`navigation`en su`docs.json`. Aprenda más sobre cómo estructurar su documentación[aquí](navigation).
+
+
diff --git a/es/api-playground/openapi/advanced-features.mdx b/es/api-playground/openapi/advanced-features.mdx
new file mode 100644
index 00000000..fdad1c62
--- /dev/null
+++ b/es/api-playground/openapi/advanced-features.mdx
@@ -0,0 +1,199 @@
+---
+- title: Características Avanzadas
+- description: Soporte para características avanzadas de OpenAPI
+---
+
+OpenAPI 3 tiene algunas características avanzadas para describir APIs complejas. Así es como puedes usarlas con Mintlify.
+
+## `oneOf`, `anyOf`, `allOf`
+
+Para tipos de datos complejos, OpenAPI proporciona las palabras clave `oneOf`, `anyOf`, y `allOf`, permitiéndote combinar esquemas de ciertas maneras. Puedes leer más sobre estas palabras clave en la [documentación de Swagger](https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/), pero esencialmente:
+
+* `oneOf` funciona como un operador "o exclusivo"
+* `anyOf` funciona como un operador "o"
+* `allOf` funciona como un operador "y"
+
+Las palabras clave `oneOf` y `anyOf` se tratan de la misma manera. Hemos encontrado que, cuando las personas usan `oneOf`, a menudo *quieren decir* `anyOf` - y a menudo no hay una diferencia significativa para el usuario.
+
+La palabra clave `not` no está actualmente soportada.
+
+### Combinando esquemas con `allOf`
+
+Mintlify realiza algún preprocesamiento en tu documento OpenAPI para mostrar estas combinaciones complejas de una manera legible. Por ejemplo, cuando combinas dos esquemas de objetos con `allOf`, Mintlify combina las propiedades de ambos en un solo objeto. Esto se vuelve especialmente útil cuando se aprovechan los [componentes reutilizables de `components`](https://swagger.io/docs/specification/components/)OpenAPI.
+
+```yaml
+org_with_users:
+ allOf:
+ - $ref: '#/components/schemas/Org'
+ - type: object
+ properties:
+ users:
+ type: array
+ description: An array containing all users in the organization
+...
+components:
+ schemas:
+ Org:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The ID of the organization
+```
+
+
+
+
+ El ID de la organización
+
+
+
+ Un array que contiene todos los usuarios en la organización
+
+
+
+
+### Proporcionando opciones con `oneOf` y `anyOf`
+
+Cuando usas `oneOf` o `anyOf`, Mintlify muestra las opciones en un contenedor con pestañas. Para dar a tus opciones nombres útiles, asegúrate de dar a cada subesquema un campo `title`. Por ejemplo, así es como 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: The street address of the recipient
+ ...
+ - title: POBox
+ type: object
+ properties:
+ box_number:
+ type: string
+ description: The number of the PO Box
+ ...
+```
+
+
+
+
+
+
+ La dirección de la calle de la residencia
+
+
+
+
+
+ El número del apartado postal
+
+
+
+
+
+
+## `x-codeSamples`
+
+Si tus usuarios interactúan con tu API usando un SDK en lugar de directamente a través de una solicitud de red, puedes agregar ejemplos de código a tu documento OpenAPI, y Mintlify los mostrará en tus páginas de OpenAPI. Puedes definir tus ejemplos de código usando la extensión `x-codeSamples`. Esta propiedad se puede agregar dentro de cualquier método de solicitud, y tiene el siguiente esquema:
+
+
+ El lenguaje del ejemplo de código.
+
+
+
+ La etiqueta para el ejemplo. Esto es útil cuando se proporcionan múltiples ejemplos para un solo endpoint.
+
+
+
+ El código fuente del ejemplo.
+
+
+Aquí hay un ejemplo de algunos ejemplos de código para una aplicación de seguimiento de plantas, que tiene tanto una herramienta CLI de Bash como un SDK de JavaScript.
+
+```yaml
+paths:
+ /plants:
+ get:
+ ...
+ x-codeSamples:
+ - lang: bash
+ label: List all unwatered plants
+ source: |
+ planter list -u
+ - lang: javascript
+ label: List all unwatered plants
+ source: |
+ const planter = require('planter');
+ planter.list({ unwatered: true });
+ - lang: bash
+ label: List all potted plants
+ source: |
+ planter list -p
+ - lang: javascript
+ label: List all potted plants
+ source: |
+ const planter = require('planter');
+ planter.list({ potted: true });
+```
+
+## `x-hidden` y `x-excluded`
+
+Si tus páginas son [autogeneradas](/es/api-playground/openapi/setup) a partir de un documento OpenAPI, pero hay algunas rutas para las que no quieres crear páginas, puedes excluirlas de la generación de páginas agregando la propiedad `x-excluded`.
+
+Si quieres que se generen páginas, pero que no aparezcan en la navegación, agrega `x-hidden`.
+
+Puedes agregar la etiqueta `x-hidden` o `x-excluded` bajo las rutas de endpoints o webhooks debajo del método.
+
+Aquí hay ejemplos de cómo se vería eso en un documento de esquema OpenAPI para un endpoint o una ruta de webhook:
+
+```json {11, 19}
+"paths": {
+ "/plants": {
+ "get": {
+ "description": "Returns all plants from the store",
+ "parameters": { ... },
+ "responses": { ... }
+ }
+ },
+ "/hidden_plants": {
+ "get": {
+ "x-hidden": true,
+ "description": "Returns all somewhat secret plants from the store",
+ "parameters": { ... },
+ "responses": { ... }
+ }
+ },
+ "/secret_plants": {
+ "get": {
+ "x-excluded": true,
+ "description": "Returns all top secret plants from the store (do not publish this endpoint!)",
+ "parameters": { ... },
+ "responses": { ... }
+ }
+ }
+},
+```
+
+```json {9, 15}
+"webhooks": {
+ "/plants_hook": {
+ "post": {
+ "description": "Webhook for information about a new plant added to the store",
+ }
+ },
+ "/hidden_plants_hook": {
+ "post": {
+ "x-hidden": true,
+ "description": "Webhook for somewhat secret information about a new plant added to the store"
+ }
+ },
+ "/secret_plants_hook": {
+ "post": {
+ "x-excluded": true,
+ "description": "Webhook for top secret information about a new plant added to the store (do not publish this endpoint!)"
+ }
+ }
+}
+```
diff --git a/es/api-playground/openapi/setup.mdx b/es/api-playground/openapi/setup.mdx
new file mode 100644
index 00000000..83b2ebe0
--- /dev/null
+++ b/es/api-playground/openapi/setup.mdx
@@ -0,0 +1,164 @@
+---
+- title: Configuración de OpenAPI
+- description: Hacer referencia a endpoints OpenAPI en sus páginas de documentación
+---
+
+## Agregar un archivo de especificación OpenAPI
+
+Para describir tus endpoints con OpenAPI, asegúrate de tener un documento OpenAPI válido en formato JSON o YAML que siga la [especificación OpenAPI](https://swagger.io/specification/). Tu documento debe seguir la especificación OpenAPI 3.0+.
+
+
+ Para validar tu especificación OpenAPI, usa nuestro [CLI](https://www.npmjs.com/package/mint) y ejecuta este comando: \
+ `mint openapi-check `
+
+
+## Auto-poblar páginas de API
+
+La forma más rápida de comenzar con OpenAPI es agregar un campo `openapi` a una pestaña en el `docs.json`. Este campo puede contener la ruta a un documento OpenAPI en tu repositorio de documentación, o la URL de un documento OpenAPI alojado. Mintlify generará automáticamente una página para cada operación OpenAPI y las colocará en la pestaña.
+
+**Ejemplo con Pestañas:**
+
+```json {5}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "API Reference",
+ "openapi": "https://petstore3.swagger.io/api/v3/openapi.json"
+ }
+ ]
+}
+```
+
+
+ El ejemplo anterior es con pestañas, pero puedes agregar una propiedad `openapi` a cualquier [división de navegación](/es/navigation)
+
+
+**Ejemplo con Grupos:**
+
+```json {8-11}
+"navigation": {
+ "tabs": [
+ {
+ "tab": "API Reference",
+ "groups": [
+ {
+ "group": "Endpoints",
+ "openapi": {
+ "source": "/path/to/openapi-1.json",
+ "directory": "api-reference"
+ }
+ }
+ ]
+ }
+ ]
+}
+```
+
+
+ El campo directory es opcional. Si no se especifica, los archivos se colocarán en la carpeta **api-reference** del repositorio de documentación.
+
+
+Al usar esta opción, los metadatos para las páginas generadas tendrán los siguientes valores por defecto:
+
+* `title`: El campo `summary` de la operación OpenAPI, si está presente. De lo contrario, un título generado a partir del método HTTP y el endpoint.
+* `description`: El campo `description` de la operación OpenAPI, si está presente.
+* `version`: El valor `version` del ancla o pestaña, si está presente.
+* `deprecated`: El campo `deprecated` de la operación OpenAPI, si está presente. Si es verdadero, aparecerá una etiqueta de obsoleto junto al endpoint en la navegación lateral y junto al título de la página del endpoint.
+
+Hay algunos escenarios en los que el comportamiento por defecto no es suficiente. Si necesitas más personalización, puedes crear una página MDX para tu operación OpenAPI y modificarla como cualquier otra página MDX.
+
+
+ Si tienes algunos endpoints en tu esquema OpenAPI para los que no quieres que se generen páginas automáticamente, puedes agregar la propiedad [x-hidden](/es/api-playground/openapi/advanced-features#x-hidden)
+
+
+## Crear archivos MDX para páginas de API
+
+Si quieres personalizar los metadatos de la página, agregar contenido adicional, omitir ciertas operaciones OpenAPI o reordenar las páginas OpenAPI en tu navegación, necesitarás una página MDX para cada operación. Aquí tienes [un ejemplo de página OpenAPI en MDX](https://github.com/mindsdb/mindsdb/blob/main/docs/rest/databases/create-databases.mdx) de [MindsDB](https://docs.mindsdb.com/rest/databases/create-databases).
+
+
+
+### Especificar archivos manualmente
+
+Siempre puedes crear una página MDX manualmente y hacer referencia a la operación OpenAPI en los metadatos de la página usando el campo `openapi`.
+
+
+
+Al usar la referencia OpenAPI, el nombre, la descripción, los parámetros, las respuestas y el área de juego de la API se generarán automáticamente a partir del documento OpenAPI.
+
+Si tienes múltiples archivos OpenAPI, incluye la ruta al archivo OpenAPI para asegurar que Mintlify encuentre el documento OpenAPI correcto. Esto no es necesario si solo tienes un archivo OpenAPI - lo detectará automáticamente.
+
+Si desea hacer referencia a un archivo OpenAPI externo utilizando este método, proporcione la URL del archivo en el docs.json. Vea [aquí](https://mintlify.com/docssettings#param-source-4) para el formato correcto.
+
+
+ ```md 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"
+ ---
+ ```
+
+ ```md 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)
+ ---
+ ```
+
+
+
+ En la mayoría de los casos, el método y la ruta deben coincidir exactamente con el método y la ruta especificados en el documento OpenAPI. Si el endpoint no existe en el archivo OpenAPI, la página estará vacía.
+
+ Para webhooks, reemplace el método (es decir, "POST") con "webhook" (sin distinción entre mayúsculas y minúsculas) y se generará el método correcto.
+
+
+### Autogenerar archivos
+
+Para documentos OpenAPI grandes, crear una página MDX para cada operación OpenAPI puede ser mucho trabajo. Para facilitarlo, creamos un scraper local de páginas OpenAPI.
+
+Nuestro Mintlify [scraper](https://www.npmjs.com/package/@mintlify/scraping)autogenera archivos MDX para sus endpoints OpenAPI.
+
+Cada página generada corresponderá a una operación OpenAPI bajo la sección "paths" del esquema OpenAPI.
+Si su documento OpenAPI es de la versión 3.1+, el scraper también generará páginas para webhooks bajo la sección "webhooks" del esquema OpenAPI.
+
+```bash
+npx @mintlify/scraping@latest openapi-file
+```
+
+Agregue la `-o` bandera para especificar una carpeta donde poblar los archivos. Si no se especifica una carpeta, los archivos se poblarán en el directorio de trabajo.
+
+```bash
+npx @mintlify/scraping@latest openapi-file -o api-reference
+```
+
+Aprenda más sobre nuestro paquete de scraping [aquí](https://www.npmjs.com/package/@mintlify/scraping).
+
+El scraper generará un array de
+[Entradas de navegación](settings#structure) que contienen sus archivos MDX de OpenAPI. Puede agregar estas entradas a su Navegación existente, o reordenar y añadir los archivos a su navegación manualmente.
+
+
+ Si su documento OpenAPI no es válido, los archivos no se autogenerarán.
+
+
+## Crear archivos MDX para esquemas OpenAPI
+
+Mintlify también le permite crear páginas individuales para cualquier esquema OpenAPI definido en la sección `components.schemas` field:
+
+
+ ```md Example
+ ---
+ openapi-schema: OrderItem
+ ---
+ ```
+
+ ```md Format
+ ---
+ openapi-schema: "schema-key"
+ ---
+ ```
+
diff --git a/es/api-playground/openapi/writing-openapi.mdx b/es/api-playground/openapi/writing-openapi.mdx
new file mode 100644
index 00000000..0399ea69
--- /dev/null
+++ b/es/api-playground/openapi/writing-openapi.mdx
@@ -0,0 +1,33 @@
+---
+- title: Escribiendo OpenAPI
+- description: Usa las características de OpenAPI para mejorar tu documentación
+---
+
+## Describiendo tu API
+
+Hay muchas herramientas excelentes en línea para aprender sobre y construir documentos OpenAPI. Aquí están nuestras favoritas:
+
+* [Swagger's OpenAPI Guide](https://swagger.io/docs/specification/about/)para familiarizarte con la sintaxis de OpenAPI
+* [OpenAPI v3.1.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md)para todos los detalles sobre la especificación más reciente de OpenAPI
+* [Swagger & OpenAPI Validator](https://editor.swagger.io/)para depurar tu documento OpenAPI
+* [Swagger's Editor](https://editor.swagger.io/)para ver ejemplos en acción
+
+
+ La Guía OpenAPI de Swagger es para OpenAPI v3.0, pero casi toda la información es aplicable a v3.1. Para más información sobre las diferencias entre v3.0 y v3.1, consulta[OpenAPI's blog post](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0).
+
+
+## Especificando la URL para tu API
+
+En un documento OpenAPI, los diferentes endpoints de la API se especifican por sus rutas, como`/users/{id}`, o tal vez simplemente`/`. Para especificar la URL base a la que se deben añadir estas rutas, OpenAPI proporciona el campo`servers`. Este campo es necesario para usar algunas características de Mintlify como el API Playground. Lee cómo configurar el campo`servers`en la[documentación de Swagger](https://swagger.io/docs/specification/api-host-and-base-path/).
+
+El API Playground utilizará estas URLs de servidor para determinar dónde enviar las solicitudes. Si se especifican múltiples servidores, aparecerá un menú desplegable para permitir alternar entre servidores. Si no se proporciona ningún servidor, el API Playground utilizará el modo simple, ya que no hay forma de enviar una solicitud.
+
+Si diferentes endpoints dentro de tu API existen en diferentes URLs, puedes[sobrescribir el campo server](https://swagger.io/docs/specification/api-host-and-base-path/#:~:text=%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20%2D%20southeastasia-,Overriding%20Servers,-The%20global%20servers)para una ruta u operación específica.
+
+## Especificando la autenticación
+
+Casi todas las APIs requieren algún método de autenticación. OpenAPI proporciona el campo`securitySchemes`para definir los métodos de autenticación utilizados en toda tu API, con una configuración simple para los tipos de autenticación más comunes -[Basic](https://swagger.io/docs/specification/authentication/basic-authentication/),[Bearer](https://swagger.io/docs/specification/authentication/bearer-authentication/), y[API Keys](https://swagger.io/docs/specification/authentication/api-keys/). Para aplicar estos métodos de autenticación a tus endpoints, OpenAPI utiliza el campo`security`. La sintaxis para definir y aplicar la autenticación es un poco poco intuitiva, así que definitivamente revisa[la documentación y ejemplos de Swagger](https://swagger.io/docs/specification/authentication/)sobre el tema.
+
+Las descripciones de la API y el API Playground añadirán campos de autenticación basados en las configuraciones de seguridad en tu documento OpenAPI.
+
+Si diferentes endpoints dentro de tu API requieren diferentes métodos de autenticación, puedes[sobrescribir el campo security](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.
diff --git a/es/api-playground/overview.mdx b/es/api-playground/overview.mdx
new file mode 100644
index 00000000..5b87012b
--- /dev/null
+++ b/es/api-playground/overview.mdx
@@ -0,0 +1,11 @@
+---
+- title: Playground
+- description: Permitir a los usuarios interactuar con su API
+- openapi: POST /project/update/{projectId}
+- hideApiMarker: true
+- icon: play
+---
+
+El playground de API es un entorno interactivo para realizar solicitudes y previsualizar un endpoint de API.
+
+Esta página se genera automáticamente a partir de la especificación OpenAPI.
diff --git a/es/api-playground/troubleshooting.mdx b/es/api-playground/troubleshooting.mdx
new file mode 100644
index 00000000..87d5771f
--- /dev/null
+++ b/es/api-playground/troubleshooting.mdx
@@ -0,0 +1,79 @@
+---
+- title: Solución de problemas
+- description: Problemas comunes con Referencias de API
+- icon: message-square-warning
+---
+
+Las páginas de API son complicadas. Como resultado, hay muchas cosas que pueden salir mal.
+Aquí hay una lista de problemas comunes que hemos visto que los clientes enfrentan:
+
+
+
+ En este escenario, es probable que Mintlify no pueda encontrar su documento OpenAPI,
+ o que su documento OpenAPI no sea válido.
+
+ Ejecutar `mint dev` localmente debería revelar algunos de estos problemas.
+
+ Para verificar que su documento OpenAPI pase la validación:
+
+ 1. Visite [este validador](https://editor.swagger.io/)
+ 2. Cambie a la pestaña "Validar texto"
+ 3. Pegue su documento OpenAPI
+ 4. Haga clic en "¡Validarlo!"
+
+ Si el cuadro de texto que aparece debajo tiene un borde verde, su documento ha pasado la validación.
+ Este es el paquete de validación exacto que Mintlify utiliza para validar documentos OpenAPI, por lo que si su documento
+ pasa la validación aquí, hay una gran probabilidad de que el problema esté en otro lugar.
+
+ Además, Mintlify no admite OpenAPI 2.0. Si su documento utiliza esta versión de la especificación,
+ podría encontrar este problema. Puede convertir su documento en [editor.swagger.io](https://editor.swagger.io/) (bajo Editar > Convertir a OpenAPI 3):
+
+
+ 
+
+
+
+
+ Esto generalmente es causado por un campo `openapi` mal escrito en los metadatos de la página. Asegúrese de que
+ el método HTTP y la ruta coincidan exactamente con el método HTTP y la ruta en el documento OpenAPI.
+
+ Aquí hay un ejemplo de cómo las cosas podrían salir mal:
+
+ ```md get-user.mdx
+ ---
+ openapi: "GET /users/{id}/"
+ ---
+ ```
+
+ ```yaml openapi.yaml
+ paths:
+ "/users/{id}":
+ get: ...
+ ```
+
+ Observe que la ruta en el campo `openapi` tiene una barra diagonal al final, mientras que la ruta en el documento OpenAPI
+ no la tiene.
+
+ Otro problema común es un nombre de archivo mal escrito. Si está especificando un documento OpenAPI particular
+ en el campo `openapi`, asegúrese de que el nombre del archivo sea correcto. Por ejemplo, si tiene dos documentos OpenAPI
+ `openapi/v1.json` y `openapi/v2.json`, sus metadatos podrían verse así:
+
+ ```md api-reference/v1/users/get-user.mdx
+ ---
+ openapi: "v1 GET /users/{id}"
+ ---
+ ```
+
+
+
+ Si tiene configurado un dominio personalizado, esto podría ser un problema con su proxy inverso. Por
+ defecto, las solicitudes realizadas a través del Playground de API comienzan con una solicitud `POST` a la
+ ruta `/api/request` en el sitio de documentación. Si su proxy inverso está configurado para permitir solo solicitudes `GET`,
+ entonces todas estas solicitudes fallarán. Para solucionarlo, configure su proxy inverso para
+ permitir solicitudes `POST` a la ruta `/api/request`.
+
+ Alternativamente, si su proxy inverso le impide aceptar solicitudes `POST`, puede configurar Mintlify para enviar solicitudes directamente a su backend con la configuración `api.playground.proxy` en el `docs.json`, como se describe [aquí](settings#api-configurations). Esto
+ probablemente requerirá que configure CORS en su servidor, ya que estas solicitudes ahora vendrán directamente
+ de los navegadores de sus usuarios.
+
+
diff --git a/es/api-reference/chat/create-topic.mdx b/es/api-reference/chat/create-topic.mdx
new file mode 100644
index 00000000..dd89e078
--- /dev/null
+++ b/es/api-reference/chat/create-topic.mdx
@@ -0,0 +1,3 @@
+---
+- openapi: POST /chat/topic
+---
diff --git a/es/api-reference/chat/generate-message.mdx b/es/api-reference/chat/generate-message.mdx
new file mode 100644
index 00000000..533f014f
--- /dev/null
+++ b/es/api-reference/chat/generate-message.mdx
@@ -0,0 +1,3 @@
+---
+- openapi: POST /chat/message
+---
diff --git a/es/api-reference/introduction.mdx b/es/api-reference/introduction.mdx
new file mode 100644
index 00000000..ea584f7b
--- /dev/null
+++ b/es/api-reference/introduction.mdx
@@ -0,0 +1,38 @@
+---
+- title: Introducción
+- icon: book-open
+---
+
+## Activar Actualizaciones
+
+Puedes aprovechar la API REST para activar programáticamente una actualización cuando lo desees.
+
+## Autenticación
+
+Puedes generar una clave de API a través de
+
+[el dashboard](https://dashboard.mintlify.com/settings/organization/api-keys). La clave de API está
+asociada a toda la organización y se puede usar en múltiples despliegues.
+
+
+
+
+
+## Clave de API de administrador
+
+La clave de API de administrador se usa para la mayoría de la API. Se utiliza para activar actualizaciones a través del [endpoint de Actualización](/es/api-reference/update/trigger).
+
+## Clave de API del Asistente
+
+La API del Asistente te permite incorporar la experiencia del asistente de IA basada en tus documentos y continuamente actualizada en cualquier aplicación de tu elección.
+
+Las respuestas incluyen citas para que puedas dirigir a tus usuarios a los lugares correctos donde necesitan obtener ayuda.
+
+
+ El token de la API del Asistente es un token público que puede ser referenciado en tu
+ código frontend, mientras que la clave de API es un token del lado del servidor que debe mantenerse
+ secreto.
+
+
+Ahora que tienes una clave de API, echa un vistazo a nuestro [ejemplo](https://github.com/mintlify/discovery-api-example) de cómo usar
+la API para el asistente de IA. También puedes ver una versión desplegada de este ejemplo en [chat.mintlify.com](https://chat.mintlify.com).
diff --git a/es/api-reference/update/status.mdx b/es/api-reference/update/status.mdx
new file mode 100644
index 00000000..32604041
--- /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 00000000..0bdb4dfd
--- /dev/null
+++ b/es/api-reference/update/trigger.mdx
@@ -0,0 +1,3 @@
+---
+- openapi: POST /project/update/{projectId}
+---
diff --git a/es/changelog.mdx b/es/changelog.mdx
new file mode 100644
index 00000000..b0109be5
--- /dev/null
+++ b/es/changelog.mdx
@@ -0,0 +1,460 @@
+---
+- title: Actualizaciones del producto
+- description: Nuevas actualizaciones y mejoras
+- mode: center
+---
+
+
+ ## Actualizaciones de estabilidad del área de pruebas de API
+
+ * Búsqueda para encontrar un endpoint
+ * Indicar un endpoint obsoleto con una etiqueta
+ * Ocultar páginas de API generadas automáticamente de la navegación
+ * Subir archivos multipart o de datos de formulario
+
+ Aprende más en [documentación del área de pruebas de API.](/api-playground/)
+
+ ## npm i mint
+
+ Ahora puedes usar `npm i mint@latest -g` para actualizar tu CLI.
+
+
+
+ ## Editor Web 3.0
+
+
+ 
+
+
+ Usabilidad renovada en el editor WYSIWYG.
+
+ **Mejoras importantes**
+
+ * Buscar nombres de archivos usando el atajo ⌘ + P
+ * Las páginas cargan 10 veces más rápido
+ * Tiempos de carga más rápidos al buscar una rama
+ * Pestaña de opciones de página para configurar diseño, título y metadatos para SEO
+ * Barra de herramientas flotante al resaltar texto
+
+ **Correcciones adicionales**
+
+ * Margen superior fijo para componentes de registro de cambios
+ * Mejorada la fiabilidad del comportamiento del clic derecho
+ * Después de hacer clic en publicar, permanecerás en la misma página en lugar de ser llevado a un estado vacío
+ * Colores estandarizados en los iconos de archivos
+ * Mejorada la fiabilidad después de seleccionar nuevas ramas varias veces seguidas
+ * Eliminado el modo Diff
+ * Mayor consistencia al crear una nueva carpeta desde el menú desplegable
+ * Corregido el problema de las citas en bloque que creaban más citas en bloque al intentar deseleccionar
+
+ ## Traducciones con IA en beta
+
+
+ 
+
+
+ Traduce toda tu documentación con IA. [Aprende más.](navigation#localization)
+
+ ## Exportación de documentos a PDF en beta
+
+ Exporta toda tu documentación, un subdirectorio o una sola página como PDF.
+
+ ## Soporte para hooks de React
+
+ Añade interactividad a tus documentos. Todos los hooks estándar de React están automáticamente disponibles en tus archivos MDX. [Aprende más.](react-components)
+
+
+
+ ## Generador de servidor MCP
+
+
+ 
+
+
+ Genera servidores MCP para que las aplicaciones de IA puedan interactuar con tus documentos o APIs. El contenido escrito se genera automáticamente como un servidor MCP, y puedes generar un servidor MCP a partir de tu especificación OpenAPI con un solo clic.
+ Consulta la [documentación sobre cómo empezar con MCP.](/es/mcp)
+
+ ## Mejoras
+
+ * Etiquetar actualizaciones del registro de cambios para que los usuarios finales puedan filtrar las actualizaciones
+ * Sonnet-3.7 compatible con AI Chat. Configura tu modelo preferido a través del panel de control
+ * Cambia el nombre de tu despliegue directamente en la configuración del panel de control
+
+ ## Correcciones de errores
+
+ * Imágenes OG corregidas
+ * Corregida la inconsistencia de estilo de los iconos para anclajes sin contenedor
+ * Mejorados los detalles de estilo del borde del panel de control para la capacidad de respuesta móvil-tableta-escritorio
+ * Mostrar ejemplos de código incluso en modo simple para el área de pruebas de API
+ * Soporte para el atajo "command + k" para búsqueda en el editor web
+ * Los bloques de código dentro de las notas se expanden para llenar el ancho del área de la nota
+
+
+
+ ## Nuevo esquema de configuración `docs.json`
+
+
+ 
+
+
+ Hemos introducido un nuevo `docs.json` esquema como reemplazo de `mint.json`, para admitir mejor el control de versiones multinivel, una comprensión visual más fácil y una terminología más consistente. Para obtener más información sobre lo que ha cambiado, [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 que tu CLI esté en la última versión
+
+ ```
+ npm i mint@latest -g
+ ```
+
+ 1. En el repositorio de tus documentos, ejecuta
+
+ ```
+ mint upgrade
+ ```
+
+ 1. Elimina tu antiguo archivo mint.json y sube tus cambios
+
+ ## Comprobaciones de CI
+
+ Revisa automáticamente tus documentos para encontrar enlaces rotos, descubrir problemas de ortografía y gramática, o aplicar estilos de escritura con tu propia configuración de Vale. Aprende más en nuestra [documentación](settings/ci).
+
+ ## Soporte .md para LLMs
+
+ Todas las páginas de documentación están ahora automáticamente disponibles como archivos Markdown simples—solo añade `.md` a la URL. Esto facilita que los LLMs ingieran páginas individuales de tu documentación.
+
+ ## Más Temas
+
+
+ 
+
+
+ Nuevos [temas preconfigurados](themes) para modificar el aspecto y la sensación de tus documentos. Configura a través de tu [archivo docs.json](settings).
+
+ Ahora disponibles:
+
+ * Maple
+ * Palm
+ * Willow
+
+ ## Otras mejoras
+
+ * [Guía para la Escritura Técnica:](https://mintlify.com/guides/introduction)Mejores prácticas para escribir documentación técnica, incluyendo investigación de audiencia, tipos de contenido y consejos de escritura.
+ * [Componente desplegable](navigation#dropdowns): Organiza la navegación con un menú desplegable, además de pestañas y anclajes.
+ * [Corrector de sintaxis con IA](https://x.com/ricardonunez_io/status/1892334887644123192): El editor web detectará si hay un error de análisis y usará IA para sugerir correcciones.
+
+
+
+ ## Mejoras del Asistente de IA
+
+ * Nueva interfaz de usuario con página de chat dedicada y prompts preestablecidos
+ * Mejoras de estabilidad, por ejemplo, correcciones de errores al editar el archivo incorrecto o ningún archivo en absoluto
+ * Conocimiento más robusto para añadir y editar componentes
+ * Edición mejorada del archivo mint.json
+
+ ## Autenticación Parcial
+
+ Personaliza el acceso a cualquier página o sección de contenido según los permisos del usuario. Compatible con la conexión a tu propio sistema de autenticación.
+
+ ## Área de pruebas de API renovada
+
+ Hemos renovado completamente el diseño y el rendimiento del [Área de pruebas de API](/api-playground/). Las actualizaciones incluyen:
+
+ * Expansión más fácil de detalles para una visión general de un campo
+ * Diseño anidado más intuitivo, por ejemplo, para añadir o eliminar elementos
+ * Tiempos de respuesta más rápidos
+
+ ## Mejoras de Calidad
+
+ * Soporte para requerir autenticación para acceder a despliegues de vista previa
+
+
+
+ ## Autenticación
+
+
+ 
+
+
+ Haz que los documentos sean privados configurando la autenticación mediante JWT, OAuth o una contraseña universal. Con esta privacidad, puedes crear una base de conocimientos interna o evitar que los competidores vean tus documentos.
+
+
+
+ ## Asistente de IA
+
+
+ 
+
+
+ Ahora puedes pedirle a la IA que haga cambios en tus documentos, con el contexto de toda la documentación existente. Escribe un prompt y el asistente propondrá cambios generando una solicitud de extracción.
+
+ ## Actualización de la Integración con GitLab
+
+ Hemos mejorado nuestro soporte para la sincronización con GitLab, como habilitar 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 los documentos con una experiencia completamente WYSIWYG, mientras se sincroniza con markdown.
+
+ Echa un vistazo a nuestros [documentos sobre cómo empezar con el Editor Web](/es/editor).
+
+ ## /llms.txt support
+
+
+ 
+
+
+ Todas las instancias de documentos ahora se alojan automáticamente en /llms.txt y /llms-full.txt para que los LLMs puedan ingerir fácilmente tu documentación. Para más información, lee los [documentos sobre el nuevo estándar llms.txt.](https://llmstxt.org)
+
+ ## Localización
+
+ Ahora puedes localizar tus documentos, lo que funciona de manera similar al versionado. Añade un `locale` a una versión y el contenido fijo en Mintlify como "¿Fue útil esta página?" también coincidirá con el idioma.
+
+ ### Mejoras de Calidad
+
+ * Devuelve resultados de chat y búsqueda basados en la versión actual que el usuario está leyendo
+ * Autentica usuarios con OAuth, además de tokens JWT o de Sesión Compartida.
+
+
+
+ ## Registros de cambios
+
+ Lanzamos un nuevo [componente Update](/es/components/update) para facilitar la visualización y el informe de actualizaciones (como esta) a tus usuarios.
+
+
+ 
+
+
+ ## Resaltado de Líneas de Código
+
+ Ahora puedes resaltar líneas de código en tus documentos para enfatizar y llamar la atención sobre partes importantes añadiendo 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();
+ ```
+
+ ````md
+ ```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 añadiendo lo siguiente a tu `mint.json`:
+
+ ```json
+ "codeBlock": {
+ "mode": "auto"
+ }
+ ```
+
+ ## Pie de Página Avanzado
+
+
+ 
+
+
+ Ahora puedes añadir más enlaces al pie de página estándar. Esta mejora proporciona más consistencia entre las páginas de inicio y los documentos, o una mayor personalización si deseas destacar páginas específicas como redes sociales o registros de estado.
+
+ ## Filtrar búsqueda basada en el usuario actual
+
+ Cuando la personalización está habilitada, los resultados de búsqueda ahora se filtran según el usuario actualmente conectado para que solo vean el contenido relevante.
+
+ ## Indicaciones Personalizadas para el Chat de IA
+
+ Ahora puedes personalizar las indicaciones para el chat de IA. Por favor, contacta con el [soporte](mailto:sales@mintlify.com) si deseas personalizar las indicaciones.
+
+ ## Mejoras en el Panel de Control
+
+ * Se añadió la capacidad de cambiar el dominio personalizado a /docs directamente a través de la configuración del panel de control.
+ * Se consolidaron las páginas de inicio de sesión y registro para disminuir la fricción y la confusión.
+ * Se implementó el flujo de inicio de sesión de descubrimiento para que los usuarios que son miembros de múltiples organizaciones ahora puedan cambiar entre ellas.
+ * Se añadió el inicio de sesión con OAuth de Google
+ * Se añadió la capacidad de agregar nuevos despliegues a través de la configuración del panel de control.
+
+ ## Correcciones de Errores
+
+ * Ahora se pueden usar barras diagonales iniciales en la navegación.
+ * Ahora se pueden editar archivos CSS y JS en el editor web.
+ * Se corrigió `suggestEdit` que no aparecía incluso cuando estaba habilitado.
+ * Se corrigió la navegación por teclado para Búsqueda y Chat de modo que ahora puedes usar las teclas de flecha arriba y abajo para navegar por los resultados.
+ * No se permite a los motores de búsqueda rastrear páginas protegidas por autenticación de usuario.
+ * Se revalida la caché cuando se elimina una organización.
+ * Ahora usamos el analizador Scalar OpenAPI para analizar definiciones OpenAPI, lo que mejora el rendimiento, corrige problemas de análisis y muestra 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 OpenAPI.
+ * Se añadió soporte de estilo en línea para iconos
+ * Se corrigió la aparición repentina de CSS personalizado en los documentos.
+ * Se muestra correctamente el estilo de código en línea junto con los enlaces.
+ * Se mantiene la posición de desplazamiento cuando haces clic en el botón de retroceso en un navegador.
+
+
+
+ ## Fuentes Personalizadas
+
+
+ 
+
+
+ Personaliza la fuente de tus documentos con tu propia fuente alojada en un CDN o eligiendo entre las fuentes de Google para que tus documentos coincidan con tu marca.
+
+ ## Imágenes en componentes de Tarjeta
+
+ Añade una propiedad `img` a una tarjeta para mostrar una imagen en la parte superior de la tarjeta. Aprende más sobre esto [aquí](/es/components/cards#image-card).
+
+ ## Mejoras en la Velocidad de Actualización
+
+
+ 
+
+
+ Para proyectos grandes (\~3,000 archivos), el paso de descarga para actualizaciones de documentos es ahora \~440 veces más rápido - una reducción del 99.8% en tiempo. En general, las descargas de archivos durante las actualizaciones son ahora \~5.5 veces más rápidas - una reducción del 81.8% en tiempo.
+
+ ## Mejoras de SEO
+
+
+ 
+
+
+ Hemos corregido tanto el diseño móvil como el de escritorio de nuestros documentos para que sean más amigables con el SEO - incluyendo la adición de etiquetas aria adecuadas a los elementos de la barra de navegación y de alternancia.
+
+ ## Mejoras en el Panel de Control
+
+ * Migración del enrutador de aplicaciones en el panel de control.
+ * Las analíticas de búsqueda ahora están disponibles en el panel de control.
+ * Se ha añadido la funcionalidad de eliminar una organización al panel de control.
+ * Se implementó la interfaz de usuario de conexión con GitLab.
+ * Se corrigieron datos de analíticas incorrectos.
+ * Los complementos ahora se pueden comprar directamente a través del panel de control.
+
+ ## Correcciones de Errores
+
+ * Se corrigió un error donde la barra superior no se extendía 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, así que hemos listado problemas comunes para ayudarte a resolverlos rápidamente —[Lee los documentos](/es/api-playground/troubleshooting)
+
+
+
+ ## Páginas de Referencia OpenAPI
+
+ * Los endpoints definidos por OpenAPI que son complejos y recursivos son ahora 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 Juegos de API
+
+ Por defecto, las solicitudes del área de juegos de API son proxificadas por Mintlify. Ahora puedes usar`disableProxy` para deshabilitar este comportamiento y admitir tipos de solicitudes como cargas de archivos.
+
+ * [Aprende más sobre las configuraciones de API](settings#api-configurations)
+
+ ## Mejoras de SEO para móviles
+
+ Hemos corregido el diseño móvil de nuestros documentos para que sean más amigables con el SEO - incluyendo la adición de etiquetas aria adecuadas a los elementos.
+
+ ## Formulario de Soporte
+
+ Hemos añadido un formulario de soporte más detallado al panel de control de Mintlify. Ahora puedes enviar un formulario para ponerte en contacto con nosotros.
+
+ ## Correcciones de Errores
+
+ * Se corrigió un error en la funcionalidad de integración de Segment.
+ * Ahora mostramos mensajes de error más detallados para los 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 `Pro`usuarios, presentamos Mintlify Widget, una extensión de su documentación para responder a las preguntas de sus usuarios cuando y donde las hagan. Puede agregar este chatbot impulsado por IA a cualquier página web: su página de inicio, dentro de su producto o en sus páginas de documentación existentes.
+
+ * [Lea el anuncio del blog](https://mintlify.com/blog/widget)
+
+ ## Pro Plan
+
+ También actualizamos nuestros planes de precios para una mejor personalización y escala.
+
+ * [Lea el anuncio del blog](https://mintlify.com/blog/pro-plan)
+
+ ## Sincronización de ejemplos de código del API Playground
+
+ Cuando navega por la documentación de la API, el ejemplo de código seleccionado ahora se sincroniza a través de sus páginas.
+
+ ## Insights
+
+ Actualmente en beta, esta función resume las preguntas y patrones comunes de los usuarios en informes fáciles de digerir con sugerencias impulsadas por IA sobre cómo mejorar su producto.
+
+
+
+ ## Aspectos destacados de la Semana de Lanzamiento
+
+ * Themes: Customize your styling with pre-configured themes. Just add the theme Quill, Prism, or Venus to your `mint.json` archivo y actualizará el estilo de su documentación.
+ * Búsqueda V2: consulte directamente las descripciones y títulos de los endpoints de OpenAPI para llegar a las páginas de Referencia de API, elimine las páginas ocultas de la búsqueda y disfrute de nuestra interfaz de barra de búsqueda actualizada.
+ * Ramificación del editor web: cree ramas en nuestro editor web sin un IDE.
+ * Personalización de usuario: autentique a los usuarios con Shared Session o JWT para que pueda mostrarles contenido personalizado, como prellenar claves de API o mostrar contenido específico para los clientes.
+ * Mejoras de automatización de OpenAPI: para autocompletar las páginas de API Playground, puede agregar un `openapi` campo a un objeto en los arrays de tabs o anchors en el mint.json.
+
+
+
+ ## Okta SSO
+
+ Ahora admitimos el inicio de sesión a través de Okta SAML y OIDC.
+
+ ## API REST de Mintlify
+
+ Active programáticamente actualizaciones en su documentación.
+
+
+
+ ## Modo personalizado
+
+ Agregue una configuración a los metadatos para eliminar todos los elementos excepto la barra superior.
+ Casos de uso de ejemplo:
+
+ * Cree una configuración de página de inicio global personalizada con componentes personalizados
+ * Agregue videos de pantalla completa o galerías de imágenes
+ * Incruste elementos de demostración de iFrame personalizados para agregar interactividad a su documentación
+
+ Consulte nuestra [documentación del Modo Personalizado](pages#custom-mode).
+
+
+
+ ## Mintlify MDX para VSCode
+
+ Llame a fragmentos de nuestros componentes y llamadas preconfiguradas sin salir de VSCode. [Instale la extensión aquí](https://marketplace.visualstudio.com/items?itemName=mintlify.mintlify-snippets).
+
+
+
+ ## Mejoras de calidad
+
+ * Mejoras en el panel de control: vea los registros de actualización para ver qué ha cambiado y el estado de una actualización, alterne entre proyectos de Mintlify para gestionar implementaciones
+ * Versionado con pestañas totalmente compatible
+ * Redirecciones con comodines ahora compatibles
+ * Detección de errores de CLI: ahora mostramos la posición del frontmatter inválido cuando hay problemas de análisis durante el desarrollo local
+
+
+
+ ## Aspectos destacados de la Semana de Lanzamiento
+
+ * Implementaciones de vista previa: Cuando cree una solicitud de extracción, generaremos un enlace único que muestra una vista previa en vivo de cómo se verá su documentación en producción. Puede compartir este enlace con los miembros del equipo.
+ * Snippets V2: Ahora admitimos componentes completamente reutilizables y variables para snippets.
+ * Motor MDX de código abierto: Hemos expuesto dos APIs—getCompiledMdx y MDXComponent—para que pueda acceder al markdown de Mintlify y al resaltado de sintaxis de código. [Las contribuciones al proyecto](https://github.com/mintlify/mdx) son bienvenidas.
+ * Insights del Chat de IA: Segmente el historial de chat por fecha y aumente la cuota del Chat de IA desde el panel de control, y vea con qué frecuencia aparece una consulta específica.
+
diff --git a/es/code.mdx b/es/code.mdx
new file mode 100644
index 00000000..02453188
--- /dev/null
+++ b/es/code.mdx
@@ -0,0 +1,201 @@
+---
+- title: Código
+- description: Muestra código en línea y bloques de código
+- icon: code
+---
+
+## Básico
+
+### Código en línea
+
+Para denotar un `word` o `phrase` como código, enciérralo entre comillas invertidas (\`).
+
+```
+To denote a `word` or `phrase` as code, enclose it in backticks (`).
+```
+
+### Bloque de código
+
+Usa [bloques de código cercados](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) encerrando el código entre tres comillas invertidas y sigue las comillas iniciales con el lenguaje de programación de tu fragmento para obtener resaltado de sintaxis. Opcionalmente, también puedes escribir el nombre de tu código después del lenguaje de programación.
+
+```java HelloWorld.java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+}
+```
+
+````md
+```java HelloWorld.java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+}
+```
+````
+
+## Resaltado de sintaxis
+
+Coloca el nombre de tu lenguaje de programación después de las tres comillas invertidas para obtener resaltado de sintaxis.
+
+Usamos [Prism](https://prismjs.com/#supported-languages) para el resaltado de sintaxis. [Test Drive Prism](https://prismjs.com/test.html#language=markup) enumera todos los lenguajes soportados.
+
+```java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+}
+```
+
+````md
+```java
+class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+}
+```
+````
+
+## Nombres
+
+Agrega un título después del lenguaje de programación para establecer el nombre de tu ejemplo de código. El texto puede ser cualquier cosa siempre que esté en una sola línea.
+
+```javascript Code Block Example
+const hello = "world";
+```
+
+````md Code Block Example
+```javascript Code Block Example
+const hello = "world";
+```
+````
+
+## Resaltado de líneas
+
+Resalta líneas específicas en tus bloques de código 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();
+```
+
+````md
+```javascript Line Highlighting Example {1,3-5}
+const greeting = "Hello, World!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
+
+## Expandible
+
+Si tienes un bloque de código largo y `[expandable]` después de tu título para hacerlo cerrable y expandible.
+
+```python library.py [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]] = {} # patron -> list of ISBNs
+
+ def add_book(self, book: Book) -> None:
+ if book.isbn in self.books:
+ raise ValueError(f"Book with ISBN {book.isbn} already exists")
+ 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("Book not found")
+
+ if book.checked_out:
+ raise ValueError("Book is already checked out")
+
+ if len(self.checkouts[patron]) >= 3:
+ raise ValueError("Patron has reached checkout limit")
+
+ 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("Book not found or not checked out")
+
+ 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
+ for patron, books in self.checkouts.items():
+ 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()
+
+ # Add some books
+ 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)
+
+ # Checkout and return example
+ library.checkout_book("978-0-261-10295-4", "patron123")
+ late_fee = library.return_book("978-0-261-10295-4")
+ print(f"Late fee: ${late_fee:.2f}")
+
+if __name__ == "__main__":
+ main()
+```
+
+````md
+```javascript Expandable Example [expandable]
+const greeting = "Hello, World!";
+function sayHello() {
+ console.log(greeting);
+}
+sayHello();
+```
+````
diff --git a/es/components/accordions.mdx b/es/components/accordions.mdx
new file mode 100644
index 00000000..a1a24cbc
--- /dev/null
+++ b/es/components/accordions.mdx
@@ -0,0 +1,110 @@
+---
+- title: Acordeones
+- description: Un componente desplegable para alternar la visibilidad del contenido
+- icon: chevron-down
+---
+
+
+ Puede poner cualquier contenido aquí, incluyendo otros componentes, como código:
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+
+ ````jsx Accordion Example
+
+ You can put any content in here, including other components, like code:
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+ ````
+
+ ````jsx Accordion Group Example
+
+
+ You can put other components inside Accordions.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+ Check out the [Accordion](/components/accordions) docs for all the supported props.
+
+
+
+ Check out the [Accordion](/components/accordions) docs for all the supported props.
+
+
+
+ Check out the [Accordion](/components/accordions) docs for all the supported props.
+
+
+ ````
+
+
+### Props
+
+
+ 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 está abierto por defecto.
+
+
+
+ Un[icono de Font Awesome](https://fontawesome.com/icons),[icono de Lucide](https://lucide.dev/icons), o código SVG
+
+
+
+ Uno de "regular", "solid", "light", "thin", "sharp-solid", "duotone", o
+ "brands"
+
+
+## Grupos de Acordeón
+
+Puede agrupar múltiples acordeones en una sola visualización. Simplemente agregue``alrededor de sus componentes``existentes.
+
+
+
+ Puede poner otros componentes dentro de los Acordeones.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+ Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas.
+
+
+
+ Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas.
+
+
+
+ Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas.
+
+
diff --git a/es/components/callouts.mdx b/es/components/callouts.mdx
new file mode 100644
index 00000000..acbecc61
--- /dev/null
+++ b/es/components/callouts.mdx
@@ -0,0 +1,43 @@
+---
+- title: Llamadas de atención
+- description: Usa llamadas de atención para agregar contexto llamativo a tu contenido
+- icon: info
+---
+
+Las llamadas de atención pueden estilizarse como Nota, Advertencia, Información, Consejo o Verificación:
+
+Esto agrega una nota en el contenido
+
+```jsx
+This adds a note in the content
+```
+
+Esto levanta una advertencia para tener cuidado
+
+```jsx
+This raises a warning to watch out for
+```
+
+Esto llama la atención sobre información importante
+
+```jsx
+This draws attention to important information
+```
+
+Esto sugiere un consejo útil
+
+```jsx
+This suggests a helpful tip
+```
+
+Esto nos trae un estado verificado
+
+```jsx
+This brings us a checked status
+```
+
+
+ ```jsx Callout Example
+ This adds a note in the content
+ ```
+
diff --git a/es/components/cards.mdx b/es/components/cards.mdx
new file mode 100644
index 00000000..89facb61
--- /dev/null
+++ b/es/components/cards.mdx
@@ -0,0 +1,118 @@
+---
+- title: Tarjetas
+- description: Destaca puntos principales o enlaces con iconos personalizables
+- icon: square-mouse-pointer
+---
+
+
+ Así es como se usa una tarjeta con un icono y un enlace. Hacer clic en esta tarjeta
+ te lleva a la página de Columnas.
+
+
+
+ ```jsx Card Example
+
+ This is how you use a card with an icon and a link. Clicking on this card
+ brings you to the Columns page.
+
+ ```
+
+ ```jsx Image Card Example
+
+ Here is an example of a card with an image
+
+ ```
+
+
+## Tarjeta horizontal
+
+Agrega una propiedad`horizontal`para mostrar las tarjetas horizontalmente.
+
+
+ Aquí tienes un ejemplo de una tarjeta horizontal
+
+
+## Tarjeta de imagen
+
+Agrega una propiedad`img`para mostrar una imagen en la parte superior de la tarjeta.
+
+
+ Aquí tienes un ejemplo de una tarjeta con una imagen
+
+
+## Tarjeta de enlace
+
+Puedes personalizar el CTA y si mostrar o no la flecha en la tarjeta. Por defecto, la flecha solo se mostrará para enlaces externos.
+
+
+ Así es como se usa una tarjeta con un icono y un enlace. Hacer clic en esta tarjeta
+ te lleva a la página de Columnas.
+
+
+
+ ```jsx Card Example
+
+ This is how you use a card with an icon and a link. Clicking on this card
+ brings you to the Columns page.
+
+ ```
+
+
+## Agrupación de tarjetas
+
+Puedes agrupar tarjetas en[columnas](/es/components/columns).
+
+
+
+ Esta es la primera tarjeta.
+
+
+
+ Esta es la segunda tarjeta.
+
+
+
+## Propiedades
+
+
+ El título de la tarjeta
+
+
+
+ Un icono de[Font Awesome icon](https://fontawesome.com/icons),[Lucide
+ icon](https://lucide.dev/icons), o código SVG en`icon={}`
+
+
+
+ Uno de`regular`,`solid`,`light`,`thin`,`sharp-solid`,`duotone`,`brands`
+
+
+
+ El color del icono como un código hexadecimal
+
+
+
+ La URL a la que se dirigirá el usuario al hacer clic en la tarjeta
+
+
+
+ Hace que la tarjeta sea más compacta y horizontal
+
+
+
+ La URL o ruta local de una imagen para mostrar en la parte superior de la tarjeta
+
+
+
+ Etiqueta para el botón de acción
+
+
+
+ Habilitar o deshabilitar el icono de flecha de enlace
+
diff --git a/es/components/code-groups.mdx b/es/components/code-groups.mdx
new file mode 100644
index 00000000..5c78e63b
--- /dev/null
+++ b/es/components/code-groups.mdx
@@ -0,0 +1,52 @@
+---
+- title: Grupos de Código
+- description: El componente CodeGroup te permite combinar bloques de código en
+ una visualización separada por pestañas
+- icon: group
+---
+
+Necesitarás hacer [Bloques de Código](/es/code) luego añadir el componente `` alrededor de ellos. Cada Bloque de Código debe tener un nombre de archivo porque usamos los nombres para los botones de las pestañas.
+
+Mira abajo para un ejemplo del resultado final.
+
+
+ ```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!");
+ }
+ }
+ ```
+
+
+
+ ````md Code Group Example
+
+
+ ```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!");
+ }
+ }
+ ```
+
+
+ ````
+
diff --git a/es/components/columns.mdx b/es/components/columns.mdx
new file mode 100644
index 00000000..61fca226
--- /dev/null
+++ b/es/components/columns.mdx
@@ -0,0 +1,36 @@
+---
+- title: Columnas
+- description: Muestra tarjetas lado a lado en formato de cuadrícula
+- icon: columns-2
+---
+
+El componente `Columns` te permite agrupar múltiples componentes `Card` juntos. Se usa más comúnmente para poner múltiples tarjetas en una cuadrícula, especificando el número de columnas de la cuadrícula.
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
+
+
+
+
+ ```jsx Card Group Example
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
+
+
+ ```
+
+
+### Props
+
+
+ El número de columnas por fila
+
diff --git a/es/components/examples.mdx b/es/components/examples.mdx
new file mode 100644
index 00000000..a43fd6b8
--- /dev/null
+++ b/es/components/examples.mdx
@@ -0,0 +1,45 @@
+---
+- title: Ejemplos
+- description: Muestra bloques de código en la parte superior derecha de la página
+ en dispositivos de escritorio
+- icon: between-horizontal-start
+---
+
+Los `` y `` fijan bloques de código en la parte superior derecha de una página incluso mientras te desplazas. Los componentes funcionan en todas las páginas incluso si no usas un área de juegos de API.
+
+`` y `` se muestran como bloques de código regulares en dispositivos móviles.
+
+## Ejemplo de Solicitud
+
+El componente `` funciona de manera similar a [CodeGroup](/es/components/code-groups), pero muestra el contenido de la solicitud en la barra lateral derecha. Por lo tanto, puedes poner múltiples bloques de código dentro de ``.
+
+Por favor, establece un nombre en cada bloque de código que pongas dentro de RequestExample.
+
+
+ ````md RequestExample Example
+
+
+ ```bash Request
+ curl --request POST \
+ --url https://dog-api.kinduff.com/api/facts
+ ```
+
+
+ ````
+
+
+## Ejemplo de Respuesta
+
+El componente `` es el mismo que `` pero aparecerá debajo de él.
+
+
+ ````md ResponseExample Example
+
+
+ ```json Response
+ { "status": "success" }
+ ```
+
+
+ ````
+
diff --git a/es/components/expandables.mdx b/es/components/expandables.mdx
new file mode 100644
index 00000000..7d765c13
--- /dev/null
+++ b/es/components/expandables.mdx
@@ -0,0 +1,44 @@
+---
+- title: Expandibles
+- description: Alterna para mostrar propiedades anidadas.
+- icon: list-tree
+---
+
+
+
+
+ El nombre completo del usuario
+
+
+
+ Si el usuario es mayor de 21 años
+
+
+
+
+
+ ```jsx Expandable Example
+
+
+
+ The full name of the user
+
+
+
+ Whether the user is over 21 years old
+
+
+
+ ```
+
+
+## Props
+
+
+ El nombre del objeto que estás mostrando. Se usa para generar el texto "Mostrar NOMBRE" y
+ "Ocultar NOMBRE".
+
+
+
+ Establece en true para mostrar el componente como abierto cuando la página se carga.
+
diff --git a/es/components/fields.mdx b/es/components/fields.mdx
new file mode 100644
index 00000000..f8f77d6c
--- /dev/null
+++ b/es/components/fields.mdx
@@ -0,0 +1,117 @@
+---
+- title: Campos
+- description: Establecer parámetros para tus referencias de API o SDK
+- icon: letter-text
+---
+
+Hay dos tipos de campos: Campos de Parámetros y Campos de Respuesta.
+
+## Campo de Parámetro
+
+Un componente`ParamField`se utiliza para definir los parámetros de tus APIs o SDKs. Añadir un`ParamField`agregará automáticamente un[API Playground](/es/api-playground/overview).
+
+
+ Un ejemplo de un campo de parámetro
+
+
+
+ ```jsx Path Example
+
+ An example of a parameter field
+
+ ```
+
+ ```jsx Body Example
+
+ The age of the user. Cannot be less than 0
+
+ ```
+
+ ```jsx Response Example
+
+ A response field example
+
+ ```
+
+
+### Props
+
+
+ Si es un parámetro de consulta, ruta, cuerpo o encabezado seguido del nombre
+
+
+
+ Tipo esperado del valor del parámetro
+
+ Admite`number`,`string`,`bool`,`object`.
+
+ Los arrays se pueden definir usando el sufijo`[]`. Por ejemplo`string[]`.
+
+
+
+ Indica si el parámetro es obligatorio
+
+
+
+ Indica si el parámetro está obsoleto
+
+
+
+ Valor predeterminado utilizado por el servidor si la solicitud no proporciona un valor
+
+
+
+ Valor que se utilizará para inicializar el playground
+
+
+
+ Texto de marcador de posición para la entrada en el playground
+
+
+
+ Descripción del parámetro (markdown habilitado)
+
+
+## Campo de Respuesta
+
+El componente``está diseñado para definir los valores de retorno de una API. Muchas documentaciones también usan``en las páginas cuando necesitas listar los tipos de algo.
+
+
+ Un ejemplo de campo de respuesta
+
+
+```jsx
+
+ A response field example
+
+```
+
+### Props
+
+
+ El nombre del valor de respuesta.
+
+
+
+ Tipo esperado del valor de respuesta - esto puede ser cualquier cadena arbitraria.
+
+
+
+ El valor predeterminado.
+
+
+
+ Mostrar "required" junto al nombre del campo.
+
+
+
+ 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
+
diff --git a/es/components/frames.mdx b/es/components/frames.mdx
new file mode 100644
index 00000000..97aed505
--- /dev/null
+++ b/es/components/frames.mdx
@@ -0,0 +1,40 @@
+---
+- title: Marcos
+- description: Usa el componente Frame para envolver imágenes u otros componentes
+ en un contenedor.
+- icon: frame
+---
+
+Los marcos son muy útiles si quieres centrar una imagen.
+
+
+
+
+
+## Leyendas
+
+Puedes agregar contexto adicional a una imagen usando la prop opcional `caption`.
+
+
+
+
+
+## Props
+
+
+ Texto de leyenda opcional para mostrar centrado debajo de tu componente.
+
+
+
+ ```jsx Frame
+
+
+
+ ```
+
+ ```jsx Frame with Captions
+
+
+
+ ```
+
diff --git a/es/components/icons.mdx b/es/components/icons.mdx
new file mode 100644
index 00000000..116fc87e
--- /dev/null
+++ b/es/components/icons.mdx
@@ -0,0 +1,41 @@
+---
+- title: Iconos
+- description: Usa iconos de bibliotecas de iconos populares
+- icon: flag
+---
+
+
+
+
+ ```jsx Icon Example
+
+ ```
+
+
+## Iconos en línea
+
+El icono se colocará en línea cuando se use en un párrafo.
+
+```markdown Inline Icon Example
+ The documentation you want, effortlessly
+```
+
+ La documentación que deseas, sin esfuerzo
+
+### Props
+
+
+ Un [Font Awesome](https://fontawesome.com/icons) o [Lucide](https://lucide.dev/icons) icono
+
+
+
+ Uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` (solo para [Font Awesome](https://fontawesome.com/icons) iconos).
+
+
+
+ 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 00000000..c691c8db
--- /dev/null
+++ b/es/components/mermaid-diagrams.mdx
@@ -0,0 +1,61 @@
+---
+- title: Mermaid
+- description: Muestra diagramas usando Mermaid
+- icon: waypoints
+---
+
+
+ ````md Mermaid Flowchart Example
+ ```mermaid
+ flowchart LR
+ subgraph subgraph1
+ direction TB
+ top1[top] --> bottom1[bottom]
+ end
+ subgraph subgraph2
+ direction TB
+ top2[top] --> bottom2[bottom]
+ end
+ %% ^ These subgraphs are identical, except for the links to them:
+
+ %% Link *to* subgraph1: subgraph1 direction is maintained
+ outside --> subgraph1
+ %% Link *within* subgraph2:
+ %% subgraph2 inherits the direction of the top-level graph (LR)
+ outside ---> top2
+ ```
+ ````
+
+
+[Mermaid](https://mermaid.js.org/) te permite crear diagramas visuales usando texto y código.
+
+```mermaid
+ flowchart LR
+ subgraph subgraph1
+ direction TB
+ top1[top] --> bottom1[bottom]
+ end
+ subgraph subgraph2
+ direction TB
+ top2[top] --> bottom2[bottom]
+ end
+ %% ^ These subgraphs are identical, except for the links to them:
+
+ %% Link *to* subgraph1: subgraph1 direction is maintained
+ outside --> subgraph1
+ %% Link *within* subgraph2:
+ %% subgraph2 inherits the direction of the top-level graph (LR)
+ outside ---> top2
+```
+
+Para una lista completa de diagramas soportados por Mermaid, consulta su [sitio web](https://mermaid.js.org/).
+
+## Sintaxis para diagramas Mermaid
+
+Para crear un diagrama de flujo, puedes escribir el diagrama de flujo Mermaid dentro de un bloque de código Mermaid.
+
+````md
+```mermaid
+// Your mermaid code block here
+```
+````
diff --git a/es/components/panel.mdx b/es/components/panel.mdx
new file mode 100644
index 00000000..f3e50201
--- /dev/null
+++ b/es/components/panel.mdx
@@ -0,0 +1,21 @@
+---
+- title: Panel
+- description: Especifica el contenido del panel del lado derecho
+- icon: panel-right
+---
+
+Puedes usar el componente `` para personalizar el panel del lado derecho de una página con cualquier componente que desees.
+
+Si una página tiene un componente ``, cualquier componente [RequestExample](/es/components/examples#request-example) y [ResponseExample](/es/components/examples#response-example) debe estar dentro de ``.
+
+Los componentes en un `` reemplazarán la tabla de contenidos de una página.
+
+```md
+
+ Pin info to the side panel. Or add any other component.
+
+```
+
+
+ Fija información en el panel lateral. O añade cualquier otro componente.
+
diff --git a/es/components/responses.mdx b/es/components/responses.mdx
new file mode 100644
index 00000000..ab7b49f7
--- /dev/null
+++ b/es/components/responses.mdx
@@ -0,0 +1,54 @@
+---
+- title: Campos de Respuesta
+- description: Muestra valores de respuesta de API
+---
+
+El componente `` está diseñado para definir los valores de retorno de una API. Muchos documentos también usan `` en las páginas cuando necesitas listar los tipos de algo.
+
+
+ Un ejemplo de campo de respuesta
+
+
+```jsx
+
+ A response field example
+
+```
+
+## Propiedades
+
+
+ El nombre del valor de respuesta.
+
+
+
+ Tipo esperado del valor de respuesta - esto puede ser cualquier cadena arbitraria.
+
+
+
+ El valor por defecto.
+
+
+
+ Muestra "requerido" junto al nombre del campo.
+
+
+
+ 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
+
+
+
+ ```jsx Response Field Example
+
+ A response field example
+
+ ```
+
diff --git a/es/components/steps.mdx b/es/components/steps.mdx
new file mode 100644
index 00000000..4b1c2a35
--- /dev/null
+++ b/es/components/steps.mdx
@@ -0,0 +1,73 @@
+---
+- title: Steps
+- description: Secuencia el contenido usando el componente Steps
+- icon: list-todo
+---
+
+Los pasos son la mejor manera de mostrar una serie de acciones o eventos a tus usuarios. Puedes añadir tantos pasos como desees.
+
+
+
+ Estas son instrucciones o contenido que solo pertenecen al primer paso.
+
+
+
+ Estas son instrucciones o contenido que solo pertenecen al segundo paso.
+
+
+
+ Estas son instrucciones o contenido que solo pertenecen al tercer paso.
+
+
+
+
+ ```jsx Steps Example
+
+
+ These are instructions or content that only pertain to the first step.
+
+
+ These are instructions or content that only pertain to the second step.
+
+
+ These are instructions or content that only pertain to the third step.
+
+
+ ```
+
+
+## Propiedades de Steps
+
+
+ Una lista de `Step` componentes.
+
+
+
+ El tamaño de los títulos de los pasos. Uno de `p`, `h2` y `h3`.
+
+
+## Propiedades de Pasos Individuales
+
+
+ El contenido de un paso, ya sea como texto plano o componentes.
+
+
+
+ Un [icono de Font Awesome](https://fontawesome.com/icons), [icono de Lucide](https://lucide.dev/icons), o código SVG en `icon={}`
+
+
+
+ Uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`
+
+
+
+ El título es el texto principal para el paso y aparece junto al indicador.
+
+
+
+ El número del paso.
+
+
+
+ El tamaño de los títulos de los pasos. Uno de `p`, `h2` y `h3`.
+
diff --git a/es/components/tabs.mdx b/es/components/tabs.mdx
new file mode 100644
index 00000000..b9c9779f
--- /dev/null
+++ b/es/components/tabs.mdx
@@ -0,0 +1,59 @@
+---
+- title: Pestañas
+- description: Alterna contenido usando el componente Pestañas
+- icon: panel-top
+---
+
+Puedes añadir cualquier número de pestañas y otros componentes dentro de las pestañas.
+
+
+
+ ☝️ Bienvenido al contenido que solo puedes ver dentro de la primera Pestaña.
+ Puedes añadir cualquier número de componentes dentro de las pestañas.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+
+ ✌️ Aquí está el contenido que solo está dentro de la segunda Pestaña.
+
+
+
+ 💪 Aquí está el contenido que solo está dentro de la tercera Pestaña.
+
+
+
+
+ ````jsx Tabs Example
+
+
+ ☝️ Welcome to the content that you can only see inside the first Tab.
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+ ✌️ Here's content that's only inside the second Tab.
+
+
+ 💪 Here's content that's only inside the third Tab.
+
+
+ ````
+
+
+## Propiedades de Pestaña
+
+
+ El título de la pestaña. Los títulos cortos son más fáciles de navegar.
+
diff --git a/es/components/tooltips.mdx b/es/components/tooltips.mdx
new file mode 100644
index 00000000..743f552f
--- /dev/null
+++ b/es/components/tooltips.mdx
@@ -0,0 +1,15 @@
+---
+- title: Tooltips
+- description: Muestra una definición cuando pasas el cursor sobre el texto
+- icon: message-square
+---
+
+Los tooltips son una forma de mostrar una definición cuando pasas el cursor sobre el texto.
+
+Pasa el cursor sobre mí y verás un tooltip en acción
+
+
+ ```jsx Tooltip Example
+ Hover over me
+ ```
+
diff --git a/es/components/update.mdx b/es/components/update.mdx
new file mode 100644
index 00000000..08474310
--- /dev/null
+++ b/es/components/update.mdx
@@ -0,0 +1,66 @@
+---
+- title: Actualización
+- description: Mantener un registro de cambios y actualizaciones
+- icon: list-collapse
+---
+
+El componente`Update`se utiliza para realizar un seguimiento de los cambios y actualizaciones.
+
+
+
+
+
+
+ ## Registro de cambios
+
+ Puede agregar cualquier cosa aquí, como una captura de pantalla, un fragmento de código o una lista de cambios.
+
+ #### Características
+
+ * Diseño responsivo
+ * Sección fija para cada registro de cambios
+
+
+
+ ### Cómo usar
+
+ ```md
+
+ This is how you use a changelog with a label
+ and a description.
+
+
+ This is how you use a changelog with a label
+ and a description.
+
+ ```
+
+ Puede usar múltiples componentes`Update`para crear registros de cambios.
+
+
+
+ Cada`label`crea un ancla y también aparece en la tabla de contenidos a la derecha.
+
+
+## Props
+
+
+ La etiqueta dada a la actualización, aparece como texto fijo a la izquierda del registro de cambios.
+
+
+
+ Etiquetas para el registro de cambios, se mostrarán como filtros en el panel del lado derecho.
+
+
+
+ Descripción de la actualización, aparece debajo de la etiqueta y la etiqueta.
+
+
+
+ ```jsx Update Example
+
+ This is how you use a changelog with a label
+ and a description.
+
+ ```
+
diff --git a/es/editor.mdx b/es/editor.mdx
new file mode 100644
index 00000000..8acd5e98
--- /dev/null
+++ b/es/editor.mdx
@@ -0,0 +1,229 @@
+---
+- title: Editor Web
+- description: Construye tu documentación usando el editor web de Mintlify
+- icon: mouse-pointer-2
+---
+
+
+
+
+
+## Introduction
+
+El editor web es una interfaz visual para crear, editar y revisar documentación directamente en tu navegador.
+
+El editor web ofrece una experiencia **What-You-See-Is-What-You-Get (WYSIWYG)** mientras mantiene la sincronización con tu repositorio Git, lo que te permite ver actualizaciones en tiempo real y colaborar con tu equipo en los cambios de la documentación.
+
+### Editor web vs. CLI
+
+El editor web te permite escribir y editar tu documentación en tu navegador sin necesidad de herramientas de desarrollo locales o usar la línea de comandos. Deberías usar el editor web si quieres mantener tu documentación en un solo lugar con una sola herramienta.
+
+La CLI es una herramienta de línea de comandos que te permite crear y gestionar tu documentación localmente usando el IDE de tu elección. Deberías usar la CLI si quieres integrar la documentación en tu flujo de trabajo de desarrollo existente.
+
+Tanto el editor web como la CLI están completamente integrados con tu repositorio Git, por lo que puedes usarlos indistintamente y diferentes miembros de tu equipo pueden usar cualquiera de las herramientas según sus preferencias.
+
+## Modos del Editor
+
+El editor web ofrece dos modos para adaptarse a diferentes preferencias y necesidades de edición.
+
+Puedes cambiar entre los modos naturales en cualquier momento usando el interruptor en la esquina superior derecha de la barra de herramientas del editor.
+
+
+
+
+
+
+
+### Modo Visual
+
+El modo visual proporciona una experiencia WYSIWYG donde los cambios que haces en el editor son los cambios que se publicarán en tu sitio de documentación. Este modo es ideal cuando quieres ver cómo se verán tus cambios en tiempo real.
+
+
+
+
+
+
+
+#### Menú de Componentes
+
+Puedes agregar bloques de contenido y otros componentes a tu documentación en el modo visual usando el menú desplegable de componentes.
+
+1. Presiona la tecla `/` para abrir el menú de componentes.
+2. Selecciona un componente del menú.
+
+
+
+
+
+
+
+### Modo Markdown
+
+El modo Markdown proporciona acceso directo al código MDX subyacente de tu documentación. Este modo es preferible cuando necesitas un control preciso sobre las propiedades de los componentes o cuando prefieres escribir en sintaxis Markdown/MDX.
+
+
+
+
+
+
+
+## Realizando Cambios
+
+1. **Navegar por archivos**: Usa el explorador de archivos de la barra lateral para navegar por tu documentación.
+2. **Abrir un archivo**: Haz clic en el archivo que quieres editar para abrirlo en el editor.
+3. **Realizar cambios**: Edita el contenido usando el modo visual o Markdown. Los cambios se guardan automáticamente como borradores.
+4. **Vista previa de cambios**: Ve cómo se verán tus cambios en el modo visual.
+
+## Publicación
+
+
+ La publicación actualiza directamente tu rama de despliegue configurada. Para flujos de trabajo colaborativos, considera usar ramas y solicitudes de extracción en su lugar.
+
+
+Cuando estés listo para hacer que tus cambios estén en vivo, haz clic en el botón **Publish** en la esquina superior derecha del editor web.
+
+Tus cambios se desplegarán en tu sitio de producción inmediatamente.
+
+
+
+
+
+
+
+## Branches
+
+Las ramas te permiten trabajar en cambios de documentación sin actualizar la versión principal hasta que estés listo para que tus cambios se publiquen.
+
+
+ Usa ramas para actualizaciones significativas, nuevas secciones o cuando varios miembros del equipo están trabajando en diferentes partes de la documentación simultáneamente.
+
+
+### Creando una Rama
+
+1. Selecciona el nombre de la rama en la barra de herramientas del editor (generalmente `main` por defecto).
+2. Selecciona **New Branch**.
+3. Ingresa un nombre descriptivo para tu rama.
+4. Selecciona **Create Branch**.
+
+### Cambiando de Rama
+
+1. Selecciona el nombre de la rama actual en la barra de herramientas del editor.
+2. Selecciona la rama a la que quieres cambiar del menú desplegable.
+
+### Guardando Cambios en una Rama
+
+Para guardar tus cambios en una rama, selecciona el botón **Save Changes** en la esquina superior derecha del editor.
+
+Cuando estás trabajando en una rama, tus cambios no se guardan automáticamente.
+
+## Pull Requests
+
+Las pull requests (o PRs) te permiten a ti y a otras personas revisar los cambios que has realizado en una rama y luego fusionar esos cambios en tu documentación principal.
+
+### Creando una Pull Request en una Rama
+
+1. Realiza tus cambios en una rama.
+2. Haz clic en el **Publish Pull Request** botón en la esquina superior derecha del editor.
+3. Añade un Título y Descripción de Pull Request para tu pull request. Un buen título y descripción ayudará a los revisores a entender los cambios que has realizado.
+4. Haz clic en **Publish Pull Request**.
+
+
+
+
+
+
+
+### Revisando Pull Requests
+
+Puedes revisar pull requests en tu plataforma Git (GitHub, GitLab).
+
+Después de crear una pull request, puedes ver una implementación de vista previa de los cambios.
+
+Después de que un revisor apruebe una pull request, puedes fusionar la pull request en tu rama principal y los cambios se implementarán en tu sitio de documentación en vivo.
+
+## Sincronización Git
+
+El editor web se integra con tu repositorio Git, asegurando que todos los cambios estén correctamente versionados y rastreados.
+
+### Cómo funciona la sincronización Git
+
+* **Autenticación**: El editor web se conecta a tu repositorio Git a través de nuestra [GitHub App](/es/settings/github) o [GitLab integration](/es/settings/gitlab).
+
+* **Obtención automática**: Cuando abres el editor, automáticamente obtiene el contenido más reciente de la rama principal de tu repositorio.
+
+* **Seguimiento de cambios**: A medida que realizas ediciones, el editor web rastrea los cambios y puede confirmarlos en tu repositorio.
+
+* **Ramificación**: Puedes hacer cambios directamente en tu rama principal o en una rama separada, dependiendo de tus preferencias de flujo de trabajo.
+
+* **Pull requests**: Para flujos de trabajo colaborativos, puedes crear pull requests desde el editor web.
+
+## Terminología Git
+
+Entender los siguientes términos puede ayudarte a trabajar más eficazmente con el editor web y el flujo de trabajo Git.
+
+
+
+ Un repositorio (o repo) es donde se almacenan tus archivos de documentación, junto con su historial de revisiones. El editor web se conecta a tu repositorio Git para obtener y almacenar el contenido de la documentación.
+
+
+
+ Un commit es una instantánea de los cambios en tu documentación en un punto específico en el tiempo. Cuando publicas cambios en el editor web, estás creando un commit en tu repositorio Git.
+
+
+
+ Una rama es una versión paralela de tu documentación que te permite trabajar en cambios sin afectar la versión principal. El editor web te permite crear y cambiar entre ramas.
+
+
+
+ Una pull request (o PR) es una propuesta para fusionar cambios de una rama a otra, típicamente de una rama de características a la rama principal. Las PRs facilitan la revisión y discusión antes de que los cambios sean incorporados.
+
+
+
+ Un diff (o diferencia) muestra los cambios específicos entre dos versiones de un archivo. Al revisar pull requests, los diffs resaltan lo que se ha añadido, eliminado o modificado.
+
+
+
+## Solución de problemas
+
+Aquí hay soluciones a problemas comunes que podrías encontrar con el editor web.
+
+
+
+ **Posibles causas:**
+
+ * La implementación aún está en progreso
+ * Problemas de caché en tu navegador
+
+ **Solutions:**
+
+ 1. Verifica el estado de implementación en tu Panel de Control de Mintlify.
+ 2. Intenta hacer una actualización forzada en tu navegador (Ctrl+F5 o Cmd+Shift+R).
+ 3. Limpia la caché de tu navegador.
+
+
+
+ **Posibles causas:**
+
+ * Permisos insuficientes para el repositorio Git
+ * Problemas de autenticación con tu proveedor Git
+
+ **Solutions:**
+
+ 1. Verifica que tienes el acceso correcto al repositorio.
+ 2. Comprueba si tu integración Git está configurada correctamente.
+ 3. Revisa la documentación de [Editor Permissions](/es/advanced/dashboard/permissions).
+
+
+
+ **Posibles causas:**
+
+ * Problemas de conectividad de red
+ * Repositorios de documentación grandes
+
+ **Solutions:**
+
+ 1. Verifica tu conexión a internet.
+ 2. Actualiza la página e intenta de nuevo.
+ 3. Contacta al soporte si el problema persiste.
+
+
diff --git a/es/guides/auth0.mdx b/es/guides/auth0.mdx
new file mode 100644
index 00000000..f57c3370
--- /dev/null
+++ b/es/guides/auth0.mdx
@@ -0,0 +1,65 @@
+---
+- title: Usando Auth0 con el Protocolo de Autenticación OAuth
+- description: Si Auth0 es la fuente de verdad para los datos de sus usuarios,
+ puede configurar Mintlify como una aplicación cliente OAuth para autenticar
+ a sus usuarios.
+---
+
+
+ **Aviso de seguridad**: Aunque proporcionamos esta guía para ayudarte a integrar Auth0 con Mintlify, por favor consulta con tu equipo de seguridad antes de implementar cualquier solución de autenticación. Mintlify no es responsable de ningún problema de seguridad que pueda surgir de tu implementación específica.
+
+
+## Visión general
+
+Esta guía te lleva a través de la configuración de Auth0 como proveedor de autenticación para tu documentación de Mintlify. Al final, tus usuarios podrán iniciar sesión en tu documentación usando sus credenciales de Auth0.
+
+
+
+ Inicia sesión en tu panel de control de Auth0 y navega a**Applications**>**Applications**. Haz clic en el botón**Create Application**, dale un nombre a tu aplicación (por ejemplo, "Mintlify"), y selecciona**Regular Web Applications**como el tipo de aplicación. Luego haz clic en**Create**.
+
+ 
+
+
+
+ Después de crear tu aplicación, serás llevado a la página de configuración de la aplicación. Aquí encontrarás las credenciales esenciales necesarias para la integración OAuth:
+
+ 
+
+ Toma nota de la siguiente información:
+
+ * **Domain**: Este es el dominio de tu inquilino 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 (mantenla segura)
+
+ Necesitarás estos valores para configurar Mintlify en el siguiente paso.
+
+
+
+ Navega a tu Panel de Control de Mintlify y ve a la sección**Settings**>**Authentication**. Selecciona**OAuth**como tu método de autenticación y verás el formulario de configuración de OAuth:
+
+ 
+
+ Rellene el formulario con los siguientes valores:
+
+ * **URL de Autorización**: `https://YOUR_AUTH0_DOMAIN/authorize` (reemplace `YOUR_AUTH0_DOMAIN` con su dominio real de Auth0 del paso 2)
+ * **ID del Cliente**: Ingrese el ID del Cliente de su aplicación Auth0
+ * **Secreto del Cliente**: Ingrese el Secreto del Cliente de su aplicación Auth0
+ * **Ámbitos**: Dejar en blanco a menos que tenga ámbitos personalizados configurados en Auth0
+ * **URL del Token**: `https://YOUR_AUTH0_DOMAIN/oauth/token` (reemplace `YOUR_AUTH0_DOMAIN` con su dominio real de Auth0)
+
+ Después de completar estos detalles, haga clic en **Guardar cambios** para almacenar su configuración de OAuth.
+
+
+
+ Mintlify generará una URL de Redirección única que Auth0 necesita reconocer para que el flujo de OAuth funcione correctamente.
+
+ Copie la URL de Redirección de la configuración de Autenticación en su Panel de Control de Mintlify:
+
+ 
+
+ Vuelva a la página de configuración de su aplicación Auth0, desplácese hacia abajo hasta la sección **URIs de la Aplicación** y pegue la URL de Redirección en **URLs de Devolución de Llamada Permitidas** field:
+ 
+
+ Haga clic en **Guardar Cambios** en la parte inferior de la página de Auth0 para aplicar esta configuración.
+
+
diff --git a/es/guides/hidden-pages.mdx b/es/guides/hidden-pages.mdx
new file mode 100644
index 00000000..81a177b6
--- /dev/null
+++ b/es/guides/hidden-pages.mdx
@@ -0,0 +1,27 @@
+---
+- title: Páginas ocultas
+- description: Excluye páginas de tu `docs.json`
+- icon: eye-closed
+---
+
+Puedes usar páginas ocultas para contenido que no es estrictamente confidencial, pero que no está listo para su lanzamiento. Las páginas ocultas están excluidas de la navegación de tu sitio, por lo que las personas solo pueden acceder a las páginas ocultas si conocen la URL exacta.
+
+Una página está oculta hasta que la agregas a un grupo, pestaña u otro elemento de navegación en tu `docs.json`.
+
+
+ Algunos elementos de navegación como barras laterales, menús desplegables y pestañas pueden cambiar o aparecer vacíos en páginas ocultas.
+
+
+Si deseas que las páginas ocultas sean indexadas para SEO y que su contenido aparezca cuando las personas buscan dentro de tus documentos, agrega la siguiente configuración a tu `docs.json`:
+
+```
+"seo" {
+ "indexing": all
+}
+```
+
+Si deseas excluir el contenido de una página oculta específica de los resultados de búsqueda de motores de búsqueda y búsqueda interna, agrega `noindex: true` al frontmatter de la página.
+
+Si tienes páginas a las que solo quieres que grupos específicos de tus propios usuarios tengan acceso, puedes usar el acceso selectivo de grupos disponible a través de [Personalización](/es/settings/authentication-personalization/personalization#showing-hiding-pages).
+
+Si tienes páginas para las que deseas mantener un control de acceso estricto, puedes usar [Autenticación](/es/settings/authentication-personalization/authentication).
diff --git a/es/guides/migration.mdx b/es/guides/migration.mdx
new file mode 100644
index 00000000..d0bceeae
--- /dev/null
+++ b/es/guides/migration.mdx
@@ -0,0 +1,150 @@
+---
+- title: Migraciones
+- description: Cómo migrar la documentación desde tu proveedor existente
+- icon: import
+---
+
+Puedes usar nuestros [public packages](https://www.npmjs.com/package/@mintlify/scraping) para convertir tu documentación existente a Mintlify.
+
+Actualmente soportamos migración automatizada para:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ horizontal
+ />
+
+
+
+}
+ horizontal
+ />
+
+
+¿No ves tu proveedor de documentación o tienes un sistema propio? ¡Aún podemos ayudarte! Por favor, ponte en contacto con nosotros en [support@mintlify.com](mailto:support@mintlify.com).
+
+## Comandos
+
+* `mintlify-scrape section [url]` - Extrae múltiples páginas de un sitio.
+* `mintlify-scrape page [url]` - Extrae una sola página de un sitio.
+
+Los comandos detectarán automáticamente el framework.
+
+## Instalación
+
+Primero, instala el paquete:
+
+```
+npm i @mintlify/scraping
+```
+
+Uso único:
+
+
+ ```bash Section
+ npx @mintlify/scraping@latest section [url]
+ ```
+
+ ```bash Page
+ npx @mintlify/scraping@latest page [url]
+ ```
+
+
+Instalación global:
+
+```
+npm install @mintlify/scraping@latest -g
+```
+
+Uso global:
+
+
+ ```bash Section
+ mintlify-scrape section [url]
+ ```
+
+ ```bash Page
+ mintlify-scrape page [url]
+ ```
+
+
+Proporciona la ruta relativa o URL al archivo OpenAPI para generar archivos frontmatter para cada endpoint.
+
+```
+mintlify-scrape openapi-file [openApiFilename]
+
+-w, --writeFiles Whether or not to write the frontmatter files [boolean] [default: true]
+-o, --outDir The folder in which to write any created frontmatter files [string]
+```
diff --git a/es/guides/monorepo.mdx b/es/guides/monorepo.mdx
new file mode 100644
index 00000000..904a411b
--- /dev/null
+++ b/es/guides/monorepo.mdx
@@ -0,0 +1,34 @@
+---
+- title: Configuración de monorepo
+- description: Despliega tus documentos desde un repositorio que contiene
+ múltiples proyectos
+- icon: folder-git
+---
+
+Configura Mintlify para desplegar documentación desde un directorio específico dentro de un monorepo. Esta configuración te permite mantener la documentación junto con tu código en repositorios que contienen múltiples proyectos o servicios.
+
+## Prerrequisitos
+
+* Acceso de administrador a tu proyecto 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 despliegue de monorepo
+
+
+
+ Navega a [Configuración de Git](https://dashboard.mintlify.com/settings/deployment/git-settings) en tu panel de control.
+
+
+
+
+
+
+
+
+
+ 1. Selecciona el botón de alternancia **Configurar como monorepo**.
+ 2. Ingresa la ruta relativa a tu directorio de documentación.
+ 3. Selecciona **Guardar cambios**.
+
+
diff --git a/es/image-embeds.mdx b/es/image-embeds.mdx
new file mode 100644
index 00000000..531b3a4a
--- /dev/null
+++ b/es/image-embeds.mdx
@@ -0,0 +1,128 @@
+---
+- title: Imágenes e incrustaciones
+- description: Agrega imagen, video y otros elementos HTML
+- icon: image
+---
+
+
+
+## Imagen
+
+Las imágenes son la forma más común de agregar contenido visual a tu documentación.
+
+### Conceptos básicos
+
+La[markdown syntax](https://www.markdownguide.org/basic-syntax/#images)te permite agregar imágenes usando el siguiente código
+
+```md
+
+```
+
+
+ Para asegurarte de que las imágenes se muestren correctamente en producción, agrega una barra diagonal al principio de la ruta de la imagen (por ejemplo,`/path/image.jpg`).
+
+
+Ten en cuenta que el tamaño del archivo de imagen debe ser menor de 20MB. De lo contrario, recomendamos alojarlo en un proveedor de CDN como[S3](https://aws.amazon.com/s3),[Cloudinary](https://cloudinary.com)o un servicio similar.
+
+### Incrustaciones
+
+Para obtener más personalización con las imágenes, también puedes usar incrustaciones para agregar imágenes.
+
+```html
+
+```
+
+### Deshabilitar el zoom de imagen
+
+Para deshabilitar el zoom predeterminado al hacer clic en las imágenes, agrega la propiedad noZoom a las incrustaciones de imágenes.
+
+```html
+
+```
+
+### Enlazar imágenes
+
+Para enlazar una imagen, por ejemplo, para crear un botón en tus documentos, envuelve la imagen en un enlace con la`noZoom`propiedad. Las imágenes en`a`etiquetas tendrán automáticamente un cursor de puntero.
+
+```html
+
+
+
+```
+
+### Modo oscuro
+
+Para usar imágenes separadas para el modo claro y oscuro, utiliza Tailwind CSS para ocultar y mostrar imágenes.
+
+```html
+
+
+```
+
+### Relacionado
+
+Para más información, recomendamos las siguientes secciones:
+
+
+ Lee la referencia para el componente Frame
+
+
+## Videos
+
+
+
+
+
+
+ Mintlify admite[HTML tags in Markdown](https://www.markdownguide.org/basic-syntax/#html). Esto es útil si prefieres las etiquetas HTML a la sintaxis de Markdown, y te permite crear documentación con flexibilidad infinita.
+
+
+Para videos de YouTube, usa:
+
+```html
+
+```
+
+Para otros videos, usa:
+
+```html
+
+```
+
+Para reproducir automáticamente el video, usa:
+
+```html
+
+```
+
+
+ Dado que Mintlify necesita adherirse a la sintaxis JSX, los atributos de doble palabra deberán
+ escribirse en camelCase: autoPlay, playsInline.
+
+
+## iFrames
+
+Carga otra página HTML dentro del documento.
+
+```html
+
+```
diff --git a/es/index.mdx b/es/index.mdx
new file mode 100644
index 00000000..f33450ec
--- /dev/null
+++ b/es/index.mdx
@@ -0,0 +1,48 @@
+---
+- title: Introducción
+- description: Conoce la próxima generación de documentación. Nativa de IA,
+ hermosa de forma predeterminada y construida para desarrolladores.
+- icon: book-open
+- mode: custom
+---
+
+export const HeroCard = ({ filename, title, description, href }) => {
+ return (
+
+
+
+
+ Conoce la próxima generación de documentación. Nativa de IA, hermosa de forma predeterminada y construida para desarrolladores.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/es/installation.mdx b/es/installation.mdx
new file mode 100644
index 00000000..2f64e1bf
--- /dev/null
+++ b/es/installation.mdx
@@ -0,0 +1,141 @@
+---
+- title: Instalación
+- description: Instala el CLI para previsualizar y desarrollar tu documentación localmente
+- icon: terminal
+---
+
+
+
+
+
+
+ **Requisito previo**: Por favor, instale [Node.js](https://nodejs.org/en) (versión 19 o superior) antes de continuar.
+
+
+**Paso 1**: Instale el [CLI](https://www.npmjs.com/package/mint):
+
+
+ ```bash npm
+ npm i -g mint
+ ```
+
+ ```bash yarn
+ yarn global add mint
+ ```
+
+ ```bash pnpm
+ pnpm add -g mint
+ ```
+
+
+**Paso 2**: Navegue al directorio de documentos (donde se encuentra el archivo `docs.json`) y ejecute el siguiente comando:
+
+```bash
+mint dev
+```
+
+Alternativamente, si no desea instalar el CLI globalmente, puede usar un script de una sola vez:
+
+
+ ```bash npm
+ npx mint dev
+ ```
+
+ ```bash yarn
+ yarn dlx mint dev
+ ```
+
+ ```bash pnpm
+ pnpm dlx mint dev
+ ```
+
+
+Una vista previa local de su documentación estará disponible en `http://localhost:3000`.
+
+## Actualizaciones
+
+Cada versión del CLI está asociada con una versión específica de la plataforma Mintlify. Si su vista previa local no coincide con la versión de producción, actualice el CLI:
+
+
+ ```bash npm
+ npm i -g mint@latest
+ ```
+
+ ```bash yarn
+ yarn global upgrade mint
+ ```
+
+ ```bash pnpm
+ pnpm up --global mint
+ ```
+
+
+## Puertos personalizados
+
+Por defecto, el CLI usa el puerto 3000. Puede personalizar el puerto usando la bandera `--port`. Para ejecutar el CLI en el puerto 3333, por ejemplo, use este comando:
+
+```bash
+mint dev --port 3333
+```
+
+Si intenta ejecutar en un puerto que ya está en uso, utilizará el siguiente puerto disponible:
+
+```md
+Port 3000 is already in use. Trying 3001 instead.
+```
+
+## Comandos adicionales
+
+Aunque `mint dev` es el comando más comúnmente utilizado, hay otros comandos que puede usar para administrar su documentación.
+
+### Encontrar enlaces rotos
+
+El CLI puede ayudar a validar los enlaces de referencia hechos en su documentación. Para identificar cualquier enlace roto, use el siguiente comando:
+
+```bash
+mint broken-links
+```
+
+### Verificar especificación OpenAPI
+
+Puede usar el CLI para verificar errores en su archivo OpenAPI usando el siguiente comando:
+
+```bash
+mint openapi-check
+```
+
+Puede pasar un nombre de archivo (por ejemplo, `./openapi.yaml`) o una URL (por ejemplo, `https://petstore3.swagger.io/api/v3/openapi.json`).
+
+### Renombrar archivos
+
+Puede renombrar archivos usando el siguiente comando:
+
+```bash
+mint rename
+```
+
+Esto es una mejora sobre actualizar el nombre del archivo normalmente, ya que también actualizará todas las referencias al archivo, asegurando que no haya enlaces rotos.
+
+## Formato
+
+Mientras desarrolla localmente, recomendamos usar extensiones en su IDE para reconocer y formatear MDX.
+
+Si usa Cursor, Windsurf o VSCode, recomendamos la extensión [MDX VSCode](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) para resaltado de sintaxis, y [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) para el formato de código.
+
+Si usa JetBrains, recomendamos el plugin [MDX IntelliJ IDEA](https://plugins.jetbrains.com/plugin/14944-mdx) para resaltado de sintaxis, y configuración de [Prettier](https://prettier.io/docs/webstorm) para el formato del código.
+
+## Solución de problemas
+
+
+
+ Esto puede deberse a una versión desactualizada de node. Intenta lo siguiente:
+
+ 1. Elimina la versión actualmente instalada del CLI de mint:`npm remove -g mint`
+ 2. Actualiza a Node v19 o superior.
+ 3. Vuelve a instalar el CLI de mint:`npm install -g mint`
+
+
+
+ Solution: Go to the root of your device and delete the \~/.mintlify folder. Afterwards, run `mint dev` de nuevo.
+
+
diff --git a/es/integrations/analytics/amplitude.mdx b/es/integrations/analytics/amplitude.mdx
new file mode 100644
index 00000000..8a9cacaa
--- /dev/null
+++ b/es/integrations/analytics/amplitude.mdx
@@ -0,0 +1,23 @@
+---
+- title: Amplitude
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Amplitude.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "amplitude": {
+ "apiKey": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "amplitude": {
+ "apiKey": "76bb138bf3fbf58186XXX00000"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/clearbit.mdx b/es/integrations/analytics/clearbit.mdx
new file mode 100644
index 00000000..bbf0194b
--- /dev/null
+++ b/es/integrations/analytics/clearbit.mdx
@@ -0,0 +1,23 @@
+---
+- title: Clearbit
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Clearbit.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "clearbit": {
+ "publicApiKey": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "clearbit": {
+ "publicApiKey": "pk_1a1882"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/fathom.mdx b/es/integrations/analytics/fathom.mdx
new file mode 100644
index 00000000..9adc0b7a
--- /dev/null
+++ b/es/integrations/analytics/fathom.mdx
@@ -0,0 +1,25 @@
+---
+- title: Fathom
+---
+
+Agrega lo siguiente a tu archivo `docs.json` para enviar analíticas a Fathom.
+
+Puedes obtener el `siteId` de la configuración de tu script.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "fathom": {
+ "siteId": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "fathom": {
+ "siteId": "YSVMSDAY"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/google-analytics.mdx b/es/integrations/analytics/google-analytics.mdx
new file mode 100644
index 00000000..2db4fc38
--- /dev/null
+++ b/es/integrations/analytics/google-analytics.mdx
@@ -0,0 +1,43 @@
+---
+- title: Google Analytics 4
+---
+
+Necesitará generar un nuevoGA4 propiedad para usar con Mintlify. Los datos recopilados irán al mismo proyecto que sus otros datos de Google Analytics.
+
+Si está utilizando la versión antigua de Google Analytics, Universal Analytics, aún podrá generar una GA4 propiedad. GA4 los datos son ligeramente diferentes de los datos de UA pero aún se recopilan en el mismo proyecto.
+
+## Cómo conectar GA4 a Mintlify
+
+### Crear un flujo web
+
+Necesitará crear un flujo web para obtener el ID de medición que pondrá en Mintlify.
+
+Haga clic en el engranaje en la parte inferior izquierda de la pantalla de Google Analytics. Luego haga clic en Flujos de datos.
+
+
+
+Cree un flujo web y ponga la URL de su sitio de documentación de Mintlify como la URL del flujo.
+
+Su ID de medición se parece a `G-XXXXXXX` y aparecerá en Detalles del flujo inmediatamente después de crear el flujo web.
+
+### Poner el ID de medición en docs.json
+
+Agregue su ID de medición a su `docs.json` archivo de la siguiente manera:
+
+```json docs.json
+"integrations": {
+ "ga4": {
+ "measurementId": "G-XXXXXXX"
+ }
+}
+```
+
+### Esperar
+
+Google Analytics tarda de dos a tres días en mostrar sus datos.
+
+Puede usar el [Google Analytics Debugger](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna?hl=en) para verificar que los análisis estén habilitados correctamente. La extensión registrará en la consola de su navegador cada vez que GA4 haga una solicitud.
+
+
+ Los enlaces de vista previa tienen los análisis desactivados.
+
diff --git a/es/integrations/analytics/google-tag-manager.mdx b/es/integrations/analytics/google-tag-manager.mdx
new file mode 100644
index 00000000..c874fb99
--- /dev/null
+++ b/es/integrations/analytics/google-tag-manager.mdx
@@ -0,0 +1,25 @@
+---
+- title: Google Tag Manager
+---
+
+Agregue su ID de etiqueta al `docs.json` archivo y nosotros inyectaremos el script de Google Tag Manager en todas sus páginas.
+
+Usted es responsable de configurar los banners de consentimiento de cookies con Google Tag Manager si los necesita.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "gtm": {
+ "tagId": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "gtm": {
+ "tagId": "GTM-MGBL4PW"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/heap.mdx b/es/integrations/analytics/heap.mdx
new file mode 100644
index 00000000..754dd608
--- /dev/null
+++ b/es/integrations/analytics/heap.mdx
@@ -0,0 +1,23 @@
+---
+- title: Heap
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Heap.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "heap": {
+ "appId": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "heap": {
+ "appId": "1234567890"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/hotjar.mdx b/es/integrations/analytics/hotjar.mdx
new file mode 100644
index 00000000..c4a4d15e
--- /dev/null
+++ b/es/integrations/analytics/hotjar.mdx
@@ -0,0 +1,14 @@
+---
+- title: HotJar
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a HotJar.
+
+```json Analytics options in docs.json
+"integrations": {
+ "hotjar": {
+ "hjid": "required",
+ "hjsv": "required"
+ }
+}
+```
diff --git a/es/integrations/analytics/koala.mdx b/es/integrations/analytics/koala.mdx
new file mode 100644
index 00000000..6d24ce29
--- /dev/null
+++ b/es/integrations/analytics/koala.mdx
@@ -0,0 +1,23 @@
+---
+- title: Koala
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Koala.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "koala": {
+ "publicApiKey": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "koala": {
+ "publicApiKey": "pk_1a1882"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/logrocket.mdx b/es/integrations/analytics/logrocket.mdx
new file mode 100644
index 00000000..23f5c3f7
--- /dev/null
+++ b/es/integrations/analytics/logrocket.mdx
@@ -0,0 +1,13 @@
+---
+- title: LogRocket
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a LogRocket.
+
+```json Analytics options in docs.json
+"integrations": {
+ "logrocket": {
+ "apiKey": "required"
+ }
+}
+```
diff --git a/es/integrations/analytics/mixpanel.mdx b/es/integrations/analytics/mixpanel.mdx
new file mode 100644
index 00000000..f21d7374
--- /dev/null
+++ b/es/integrations/analytics/mixpanel.mdx
@@ -0,0 +1,13 @@
+---
+- title: Mixpanel
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Mixpanel.
+
+```json Analytics options in docs.json
+"integrations": {
+ "mixpanel": {
+ "projectToken": "required"
+ }
+}
+```
diff --git a/es/integrations/analytics/overview.mdx b/es/integrations/analytics/overview.mdx
new file mode 100644
index 00000000..350d5146
--- /dev/null
+++ b/es/integrations/analytics/overview.mdx
@@ -0,0 +1,602 @@
+---
+- title: Integraciones de Análisis
+- description: Integre con una plataforma de análisis para rastrear eventos
+---
+
+Enviar automáticamente datos sobre el compromiso con su documentación a su proveedor de análisis de terceros.
+
+## Todas las Integraciones
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+}
+ />
+
+
+
+
+ >
+}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+}
+ />
+
+
+## Habilitando Análisis
+
+Establezca sus claves de análisis en `docs.json`. Puede agregar un número ilimitado de integraciones de análisis de forma gratuita.
+
+La sintaxis para `docs.json` se muestra a continuación. Solo necesita incluir entradas para las plataformas que desea conectar.
+
+```json Analytics options in docs.json
+"integrations": {
+ "amplitude": {
+ "apiKey": "required"
+ },
+ "clearbit": {
+ "publicApiKey": "required"
+ },
+ "cookies": {
+ "key": "required",
+ "value": "required"
+ },
+ "fathom": {
+ "siteId": "required"
+ },
+ "ga4": {
+ "measurementId": "required"
+ },
+ "gtm": {
+ "tagId": "required"
+ },
+ "hotjar": {
+ "hjid": "required",
+ "hjsv": "required"
+ },
+ "koala": {
+ "publicApiKey": "required"
+ },
+ "logrocket": {
+ "appId": "required"
+ },
+ "mixpanel": {
+ "projectToken": "required"
+ },
+ "pirsch": {
+ "id": "required"
+ },
+ "plausible": {
+ "domain": "required"
+ },
+ "posthog": {
+ "apiKey": "required",
+ "apiHost": "optional"
+ },
+ "segment": {
+ "key": "required"
+ },
+ "telemetry": {
+ "enabled": "boolean"
+ }
+}
+```
+
+## Preguntas Frecuentes
+
+
+ * `expandable_open`
+ * `expandable_close`
+ * `accordion_open`
+ * `accordion_close`
+ * `header_nav_item_click`
+ * `cta_click`
+ * `scroll_to_bottom`
+ * `search_close`
+ * `api_playground_call`
+ * `search_result_click`
+ * `chat_enter`
+ * `chat_followup`
+ * `chat_completed`
+ * `code_block_copy`
+ * `chat_shared`
+ * `thumb_vote`
+ * `powered_by_mintlify_click`
+ * `ai_chat_citation_click`
+ * `ai_chat_feedback_positive_click`
+ * `ai_chat_feedback_negative_click`
+ * `pageview`
+
diff --git a/es/integrations/analytics/pirsch.mdx b/es/integrations/analytics/pirsch.mdx
new file mode 100644
index 00000000..c0c643d2
--- /dev/null
+++ b/es/integrations/analytics/pirsch.mdx
@@ -0,0 +1,25 @@
+---
+- title: Pirsch
+---
+
+Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Pirsch.
+
+Puedes obtener el ID de tu sitio en Configuración > Desarrollador > Código de Identificación.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "pirsch": {
+ "id": "required"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "pirsch": {
+ "id": "8Kw7OKxBfswOjnKGZa7P9Day8JmVYwTp"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/plausible.mdx b/es/integrations/analytics/plausible.mdx
new file mode 100644
index 00000000..f18de5dc
--- /dev/null
+++ b/es/integrations/analytics/plausible.mdx
@@ -0,0 +1,28 @@
+---
+- title: Plausible
+---
+
+Añade el dominio de tu sitio a `docs.json` para enviar analíticas a Plausible.
+
+
+ No incluyas `https://` para el dominio o servidor.
+
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "plausible": {
+ "domain": "required",
+ "server": "optional"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "plausible": {
+ "domain": "docs.domain.com"
+ }
+ }
+ ```
+
diff --git a/es/integrations/analytics/posthog.mdx b/es/integrations/analytics/posthog.mdx
new file mode 100644
index 00000000..e023e7b4
--- /dev/null
+++ b/es/integrations/analytics/posthog.mdx
@@ -0,0 +1,36 @@
+---
+- title: PostHog
+---
+
+Agrega lo siguiente a tu archivo `docs.json` para enviar análisis a PostHog.
+
+Solo necesitas incluir `apiHost` si estás alojando PostHog por tu cuenta. Enviamos eventos a `https://app.posthog.com` por defecto.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "posthog": {
+ "apiKey": "YOUR_POSTHOG_PROJECT_API_KEY",
+ "apiHost": "optional"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "posthog": {
+ "apiKey": "phc_TXdpocbYTeZVm5VJmMzHTMrCofBQu3e0kN7HGMNGTVW"
+ }
+ }
+ ```
+
+
+
+
+
+ Habilitar los análisis de PostHog deshabilitará los análisis en el panel de control de Mintlify.
+
+
+## Grabaciones de Sesión
+
+Necesitas agregar la URL de tu sitio web de documentación a los "Dominios autorizados para grabaciones" de Posthog antes de que puedas recibir grabaciones de sesión. La opción para agregar tu URL está en la configuración del proyecto de Posthog.
diff --git a/es/integrations/analytics/segment.mdx b/es/integrations/analytics/segment.mdx
new file mode 100644
index 00000000..e7592335
--- /dev/null
+++ b/es/integrations/analytics/segment.mdx
@@ -0,0 +1,23 @@
+---
+- title: Segment
+---
+
+Añade tu clave de escritura de Segment a tu archivo `docs.json` para enviar analíticas a Segment.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "segment": {
+ "key": "required",
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "segment": {
+ "key": "nqJxiRG15Y6M594P8Sb8ESEciU3VC2"
+ }
+ }
+ ```
+
diff --git a/es/integrations/privacy/osano.mdx b/es/integrations/privacy/osano.mdx
new file mode 100644
index 00000000..5275d898
--- /dev/null
+++ b/es/integrations/privacy/osano.mdx
@@ -0,0 +1,25 @@
+---
+- title: Osano
+---
+
+Agregue lo siguiente a su archivo`docs.json`para añadir el administrador de consentimiento de cookies[Osano](https://www.osano.com/).
+
+
+ ```json Integration options in docs.json
+ "integrations": {
+ "osano": "SOURCE"
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "osano": "https://cmp.osano.com/2sUB2dqwqdkks/8dqwd-dwd86£-4a9b/osano.js"
+ }
+ ```
+
+
+El`SOURCE`se puede encontrar como el valor`src`en el fragmento de código generado por Osano. Siempre comienza con`https://cmp.osano.com/`.
+
+```html Code snippet from Osano
+
+```
diff --git a/es/integrations/privacy/overview.mdx b/es/integrations/privacy/overview.mdx
new file mode 100644
index 00000000..fa2f7e4a
--- /dev/null
+++ b/es/integrations/privacy/overview.mdx
@@ -0,0 +1,45 @@
+---
+- title: Integraciones de Privacidad
+- description: Integrar con una plataforma de privacidad de datos
+---
+
+
+ } horizontal />
+
+
+## Habilitando Integraciones de Privacidad de Datos
+
+Puede agregar plataformas de privacidad de datos a su documentación. Agregue el`integrations`campo en su`docs.json`archivo con sus respectivos scripts.
+
+```json
+ "integrations": {
+ "osano": "SOURCE"
+ }
+```
+
+Si desea solicitar una integración de plataforma de privacidad de datos, háganoslo saber en[nuestra comunidad](https://mintlify.com/community).
+
+## Consentimiento de Cookies y Desactivación de Telemetría
+
+Si necesita verificar si un usuario ya ha dado su consentimiento para las cookies para el cumplimiento del GDPR, puede especificar una clave y valor de almacenamiento local bajo`cookies`:
+
+```json
+ "integrations": {
+ "cookies": {
+ "key": "LOCAL STORAGE KEY",
+ "value": "LOCAL STORAGE VALUE"
+ }
+ }
+```
+
+Si estos valores están configurados, se verificará el almacenamiento local para ver si el usuario ha dado su consentimiento para las cookies. Si no lo han hecho, la telemetría se desactivará.
+
+Si desea desactivar la telemetría para todos los usuarios, puede agregar lo siguiente a su`docs.json` file:
+
+```json
+ "integrations": {
+ "telemetry": {
+ "enabled": false
+ }
+ }
+```
diff --git a/es/integrations/sdks/speakeasy.mdx b/es/integrations/sdks/speakeasy.mdx
new file mode 100644
index 00000000..b7aa2509
--- /dev/null
+++ b/es/integrations/sdks/speakeasy.mdx
@@ -0,0 +1,96 @@
+---
+- title: Speakeasy
+- description: Automatiza tus fragmentos de uso del SDK en el área de juegos de la API
+---
+
+Puedes integrar fragmentos de código generados por Speakeasy de tus SDKs directamente en tu documentación de referencia de API de Mintlify. Los fragmentos de uso del SDK se muestran en el[interactive playground](https://mintlify.com/docs/api-playground/overview)de tu documentación impulsada por Mintlify.
+
+## Cambios en el repositorio del SDK de Speakeasy
+
+En tus repositorios de SDK de Speakeasy, agrega lo siguiente a la`targets`sección de tu archivo`.speakeasy/workflow.yaml`para asegurar que las muestras de código se produzcan automáticamente junto con las generaciones del SDK.
+
+```yaml .speakeasy/workflow.yaml
+targets:
+ my-target:
+ target: typescript
+ source: my-source
+ codeSamples:
+ output: codeSamples.yaml
+```
+
+Las muestras de código se generarán en forma de un[OpenAPI overlay file](https://www.speakeasyapi.dev/openapi/overlays)que se utilizará en el repositorio de documentación de Mintlify.
+
+## Cambios en el repositorio de documentación de Mintlify
+
+Los archivos de flujo de trabajo producidos agruparán automáticamente tu especificación OpenAPI de origen y las muestras de código de Speakeasy en un solo archivo de salida,`openapi.yaml`. Mintlify utilizará este archivo de salida al construir tu referencia de API.
+
+### Configuración interactiva de CLI
+
+Ejecuta los siguientes comandos para configurar los archivos`.speakeasy/workflow.yaml`y`.github/workflows/sdk_generation.yaml`a través del CLI interactivo de Speakeasy.
+
+```bash
+speakeasy configure sources
+speakeasy configure github
+```
+
+Configura tu especificación de origen. La especificación de origen es la especificación OpenAPI para la que se generarán muestras de código, y a menudo es la misma especificación utilizada para impulsar la documentación de Mintlify.
+
+
+
+Agrega la superposición creada por Speakeasy para inyectar fragmentos de código en tu especificación.
+
+
+
+Proporciona un nombre y una ruta para la especificación OpenAPI. Esta será la especificación final utilizada por Mintlify.
+
+
+
+Finalmente, agrega tu`SPEAKEASY_API_KEY`como un secreto del repositorio en tu repositorio de Mintlify bajo`Settings > Secrets & Variables > Actions`. Encuentra la clave API de Speakeasy en el panel de control de Speakeasy bajo la pestaña**API Keys**.
+
+## Configuración manual
+
+Alternativamente, puedes configurar manualmente los siguientes archivos en tu repositorio de documentación de Mintlify.
+
+```yaml .speakeasy/workflow.yaml
+workflowVersion: 1.0.0
+sources:
+ docs-source:
+ inputs:
+ - location: {{your_api_spec}} # local or remote references supported
+ overlays:
+ - location: https://raw.githubusercontent.com/{{your_sdk_repo_1}}/codeSamples.yaml
+ - location: https://raw.githubusercontent.com/{{your_sdk_repo_2}}/codeSamples.yaml
+ - location: https://raw.githubusercontent.com/{{your_sdk_repo_3}}/codeSamples.yaml
+ output: openapi.yaml
+targets: {}
+```
+
+```yaml .speakeasy/workflows/sdk_generation.yaml
+name: Generate
+permissions:
+ checks: write
+ contents: write
+ pull-requests: write
+ statuses: write
+"on":
+ workflow_dispatch:
+ inputs:
+ force:
+ description: Force generation of SDKs
+ type: boolean
+ default: false
+ schedule:
+ - cron: 0 0 * * *
+jobs:
+ generate:
+ uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
+ with:
+ force: ${{ github.event.inputs.force }}
+ mode: pr
+ speakeasy_version: latest
+ secrets:
+ github_access_token: ${{ secrets.GITHUB_TOKEN }}
+ speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
+```
+
+Finalmente, asegúrate de agregar tu`SPEAKEASY_API_KEY`como un secreto del repositorio en tu repositorio de Mintlify bajo`Settings > Secrets & Variables > Actions`. Encuentra la clave API de Speakeasy en el panel de control de Speakeasy bajo la pestaña**API Keys**.
diff --git a/es/integrations/sdks/stainless.mdx b/es/integrations/sdks/stainless.mdx
new file mode 100644
index 00000000..314a9902
--- /dev/null
+++ b/es/integrations/sdks/stainless.mdx
@@ -0,0 +1,30 @@
+---
+- title: Stainless
+- description: Automatiza los fragmentos de ejemplo del SDK en tu área de juegos de API
+---
+
+## Requisitos previos
+
+* Tener una cuenta de [Stainless](https://app.stainless.com).
+
+## Integrar con Stainless
+
+
+
+ En tu archivo de configuración `stainless.yml`, agrega `openapi.code_samples: 'mintlify'`. Consulta la [documentación de Stainless](https://app.stainless.com/docs/guides/integrate-docs) para más información.
+
+
+
+ En tu proyecto de Stainless:
+
+ 1. Selecciona la pestaña **Release**.
+ 2. Selecciona **Setup OpenAPI publishing**.
+ 3. Copia la URL de tu especificación OpenAPI accesible públicamente.
+
+
+
+
+
+ En tu archivo `docs.json`, agrega la URL de Stainless al campo `openapi`. Consulta [OpenAPI Setup](/es/api-playground/openapi/setup) para más información.
+
+
diff --git a/es/integrations/support/front.mdx b/es/integrations/support/front.mdx
new file mode 100644
index 00000000..5a7b57f2
--- /dev/null
+++ b/es/integrations/support/front.mdx
@@ -0,0 +1,19 @@
+---
+- title: Front
+---
+
+Añade lo siguiente a tu archivo `docs.json` para añadir un widget de [Front Chat](https://front.com).
+
+
+ ```json Integration options in docs.json
+ "integrations": {
+ "frontchat": "CHAT_ID"
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "frontchat": "1365d046d7c023e9b030ce90d02d093a"
+ }
+ ```
+
diff --git a/es/integrations/support/intercom.mdx b/es/integrations/support/intercom.mdx
new file mode 100644
index 00000000..be192994
--- /dev/null
+++ b/es/integrations/support/intercom.mdx
@@ -0,0 +1,23 @@
+---
+- title: Intercom
+---
+
+Añade lo siguiente a tu archivo `docs.json` para añadir un widget de [Intercom](https://www.intercom.com).
+
+
+ ```json Integration options in docs.json
+ "integrations": {
+ "intercom": {
+ "appId": "APP_ID"
+ }
+ }
+ ```
+
+ ```json Example
+ "integrations": {
+ "intercom": {
+ "appId": "APP_ID"
+ }
+ }
+ ```
+
diff --git a/es/integrations/support/overview.mdx b/es/integrations/support/overview.mdx
new file mode 100644
index 00000000..de9a4879
--- /dev/null
+++ b/es/integrations/support/overview.mdx
@@ -0,0 +1,43 @@
+---
+- title: Integraciones de soporte
+- description: Integra con un widget de soporte
+---
+
+
+ } horizontal />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ horizontal
+ />
+
+
+## Habilitando integraciones de soporte
+
+Puedes integrar widgets en tus documentos para soporte al cliente. Agrega el campo `integrations` en tu archivo `docs.json` con tu respectivo ID de aplicación.
+
+```json
+ "integrations": {
+ "intercom": "APP_ID",
+ "frontchat": "CHAT_ID"
+ }
+```
+
+Si deseas solicitar una integración de soporte al cliente, háganoslo saber en [nuestra comunidad](https://join.slack.com/t/mintlify-users/shared_invite/zt-1xfzz6x35-f4o4WCYfpvLhSj3O7WAOMA).
diff --git a/es/list-table.mdx b/es/list-table.mdx
new file mode 100644
index 00000000..f52561b2
--- /dev/null
+++ b/es/list-table.mdx
@@ -0,0 +1,85 @@
+---
+- title: Listas y Tablas
+- description: Mostrar información en listas y tablas
+- icon: list
+---
+
+## Listas
+
+### Lista Ordenada
+
+Para crear una lista ordenada, agregue elementos de línea con números seguidos de puntos
+
+1. Primer elemento
+2. Segundo elemento
+3. Tercer elemento
+4. Cuarto elemento
+
+```md
+1. First item
+2. Second item
+3. Third item
+4. Fourth item
+```
+
+### Lista Desordenada
+
+Para crear una lista desordenada, agregue guiones (`-`), asteriscos (`*`), o signos más (`+`) delante de los elementos de línea.
+
+* Primer elemento
+* Segundo elemento
+* Tercer elemento
+* Cuarto elemento
+
+```md
+- First item
+- Second item
+- Third item
+- Fourth item
+```
+
+### Lista Anidada
+
+Agregue sangría a los elementos de la lista para anidarlos
+
+* Primer elemento
+* Segundo elemento
+ * Elemento adicional
+ * Elemento adicional
+* Tercer elemento
+
+```md
+- First item
+- Second item
+ - Additional item
+ - Additional item
+- Third item
+```
+
+
+ Las listas siguen la sintaxis oficial de[markdown](https://www.markdownguide.org/basic-syntax/#lists-1).
+
+
+## Tablas
+
+| Propiedad | Descripción |
+| --------- | ------------------------------------ |
+| Nombre | Nombre completo del usuario |
+| Edad | Edad reportada |
+| Se unió | Si el usuario se unió a la comunidad |
+
+### Creando una tabla
+
+
+ El componente Table sigue la sintaxis oficial de[markdown](https://www.markdownguide.org/extended-syntax/#tables).
+
+
+Para agregar una tabla, use tres o más guiones (`---`) para crear el encabezado de cada columna, y use barras verticales (`|`) para separar cada columna. Para compatibilidad, también debe agregar una barra vertical en ambos extremos de la fila.
+
+```md
+| Property | Description |
+| -------- | ------------------------------------- |
+| Name | Full name of user |
+| Age | Reported age |
+| Joined | Whether the user joined the community |
+```
diff --git a/es/mcp.mdx b/es/mcp.mdx
new file mode 100644
index 00000000..1b264ff8
--- /dev/null
+++ b/es/mcp.mdx
@@ -0,0 +1,116 @@
+---
+- title: Model Context Protocol
+- description: Genera servidores MCP a partir de tu documentación o especificaciones OpenAPI
+- icon: audio-waveform
+---
+
+## Visión general
+
+El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que conecta tus funciones a LLMs y aplicaciones de IA. Con la integración de Mintlify, puedes generar automáticamente un servidor MCP a partir de tu documentación existente o especificaciones OpenAPI, permitiendo interacciones fluidas con tu producto impulsadas por IA.
+
+## Guía de uso rápido
+
+Cualquier documentación pública alojada en Mintlify puede ser extraída como un servidor MCP usando un simple comando:
+
+```bash
+npx mint-mcp add
+```
+
+Examples:
+
+```bash
+# Using subdomain
+npx mint-mcp add mintlify
+
+# Using domain
+npx mint-mcp add mintlify.com
+```
+
+### Autenticación
+
+Cuando ejecutes el comando, necesitarás proporcionar dos claves de API,`External Admin Key`y`Assistant API Key`.
+
+Estas se pueden encontrar en tu[Mintlify Dashboard](https://dashboard.mintlify.com/settings/organization/api-keys)bajo**Settings > API Keys**.
+
+
+
+
+
+### Seleccionar clientes MCP
+
+Después de la autenticación, elegirás qué clientes MCP habilitar para tu servidor:
+
+
+
+
+
+Una vez configurado, tu servidor MCP está listo para usar con el comando proporcionado en la terminal.
+
+## Configurando tu servidor MCP
+
+Ahora veamos cómo configurar tu servidor MCP.
+
+### Funcionalidad predeterminada
+
+Todos los servidores MCP incluyen la herramienta`search`por defecto, permitiendo a los usuarios consultar información en toda tu documentación.
+
+### Agregando funciones de API
+
+Si tienes una especificación OpenAPI, puedes exponer endpoints específicos como herramientas MCP usando la extensión`x-mcp`a nivel de archivo o endpoint.
+
+#### Configuración a nivel de archivo
+
+Habilita MCP para todos los endpoints en un archivo de especificación:
+
+```json
+{
+ "openapi": "3.1.0",
+ "x-mcp": {
+ "enabled": true
+ },
+ // Other OpenAPI content
+}
+```
+
+#### Configuración a nivel de endpoint
+
+Habilita MCP solo para endpoints específicos:
+
+```json
+{
+ "paths": {
+ "/api/v1/users": {
+ "x-mcp": {
+ "enabled": true
+ },
+ // Endpoint configuration
+ }
+ }
+}
+```
+
+### Manejo de autenticación
+
+Si tu especificación OpenAPI define autenticación usando securitySchemes, estos métodos de autenticación se aplicarán automáticamente a tu servidor MCP.
+
+### Monitoreando tu servidor MCP
+
+Después de publicar tus cambios, puedes ver todas las herramientas MCP disponibles en la sección**Available Tools**en la página del servidor MCP en tu panel de control.
+
+
+
+
+
+
+
+## Distribución
+
+### Instalación del usuario
+
+Tus usuarios pueden instalar y usar tu servidor MCP con:
+
+```bash
+npx mint-mcp add
+```
+
+Esto les proporciona un servidor MCP listo para usar que conecta tus funciones documentadas a aplicaciones de IA.
diff --git a/es/navigation.mdx b/es/navigation.mdx
new file mode 100644
index 00000000..7aee8268
--- /dev/null
+++ b/es/navigation.mdx
@@ -0,0 +1,451 @@
+---
+- title: Navigation
+- description: Estructura y personaliza la jerarquía de navegación de tu documentación
+- icon: map
+---
+
+La [navigation](settings#param-navigation) propiedad en [docs.json](settings) define cómo los usuarios navegarán por tu documentación. Piensa en ella como el plano de la estructura del menú de tu documentación.
+
+Con una configuración de navegación adecuada, puedes organizar tu contenido en una jerarquía lógica que facilita a los usuarios encontrar exactamente lo que están buscando.
+
+## Pages
+
+Las páginas son el componente de navegación más fundamental.
+
+
+
+
+
+Pages es un array donde cada entrada debe ser una referencia a la ruta de un [page file](pages).
+
+```json
+{
+ "navigation": {
+ "pages": [
+ "overview",
+ "quickstart",
+ "advanced/components",
+ "advanced/integrations"
+ ]
+ }
+}
+```
+
+***
+
+## Groups
+
+Los grupos te permiten agrupar tus páginas. Los grupos también pueden anidarse entre sí.
+
+
+
+
+
+```json
+{
+ "navigation": {
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": [
+ "quickstart",
+ {
+ "group": "Editing",
+ "pages": [
+ "installation",
+ "editor",
+ {
+ "group": "Nested group",
+ "pages": [
+ "navigation",
+ "code"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Writing Content",
+ "pages": ["writing-content/page", "writing-content/text"]
+ }
+ ]
+ }
+}
+```
+
+## Tabs
+
+Las pestañas ayudan a distinguir entre diferentes temas o secciones de tu documentación.
+
+
+
+
+
+```json
+"navigation": {
+ "tabs": [
+ {
+ "tab": "API References",
+ "pages": [
+ "api-reference/get",
+ "api-reference/post",
+ "api-reference/delete"
+ ]
+ },
+ {
+ "tab": "SDKs",
+ "pages": [
+ "sdk/fetch",
+ "sdk/create",
+ "sdk/delete",
+ ]
+ },
+ {
+ "tab": "Blog",
+ "href": "https://external-link.com/blog"
+ }
+ ]
+}
+```
+
+***
+
+## Anchors
+
+Los anclajes son otra forma de seccionar tu contenido. Aparecen en la parte superior de tu navegación lateral.
+
+
+
+
+
+La configuración es muy similar a las pestañas.
+
+Aunque no es obligatorio, recomendamos encarecidamente que también establezcas un `icon` campo icon.
+
+```json
+"navigation": {
+ "anchors": [
+ {
+ "anchor": "Documentation",
+ "icon": "book-open",
+ "pages": [
+ "quickstart",
+ "development",
+ "navigation"
+ ]
+ },
+ {
+ "anchor": "API References",
+ "icon": "sqaure-terminal",
+ "pages": [
+ "api-reference/get",
+ "api-reference/post",
+ "api-reference/delete"
+ ]
+ },
+ {
+ "anchor": "Blog",
+ "href": "https://external-link.com/blog"
+ }
+ ]
+}
+```
+
+***
+
+Los anclajes que contienen estrictamente enlaces externos se pueden lograr usando el `global` keyword:
+
+```json
+"navigation": {
+ "global": {
+ "anchors": [
+ {
+ "anchor": "Community",
+ "icon": "house",
+ "href": "https://slack.com"
+ },
+ {
+ "anchor": "Blog",
+ "icon": "pencil",
+ "href": "https://mintlify.com/blog"
+ }
+ ]
+ },
+ "tabs": [...]
+}
+```
+
+## Dropdowns
+
+Los menús desplegables aparecen en el mismo lugar que los anclajes, pero se consolidan en un solo desplegable.
+
+
+
+
+
+Aunque no es obligatorio, también recomendamos que establezcas un icono para cada elemento del menú desplegable.
+
+```json
+"navigation": {
+ "dropdowns": [
+ {
+ "dropdown": "Documentation",
+ "icon": "book-open",
+ "pages": [
+ "quickstart",
+ "development",
+ "navigation"
+ ]
+ }
+ {
+ "dropdown": "API References",
+ "icon": "sqaure-terminal",
+ "pages": [
+ "api-reference/get",
+ "api-reference/post",
+ "api-reference/delete"
+ ]
+ }
+ {
+ "dropdown": "Blog",
+ "href": "https://external-link.com/blog"
+ }
+ ]
+}
+```
+
+***
+
+## Versions
+
+Las versiones se pueden aprovechar para dividir tu navegación en diferentes versiones.
+
+
+
+
+
+```json
+{
+ "navigation": {
+ "versions": [
+ {
+ "version": "1.0.0",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": ["v1/overview", "v1/quickstart", "v1/development"]
+ }
+ ]
+ },
+ {
+ "version": "2.0.0",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": ["v2/overview", "v2/quickstart", "v2/development"]
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+***
+
+## Languages
+
+Los idiomas se pueden aprovechar para dividir tu navegación en diferentes idiomas.
+
+
+ Puedes automatizar [translations](/es/translations) de tu documentación a cualquier idioma compatible.
+
+
+
+
+
+
+Actualmente admitimos los siguientes idiomas:
+
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+ } horizontal />
+
+
+```json
+{
+ "navigation": {
+ "languages": [
+ {
+ "language": "en",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": ["en/overview", "en/quickstart", "en/development"]
+ }
+ ]
+ },
+ {
+ "language": "es",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": ["es/overview", "es/quickstart", "es/development"]
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+***
+
+## Nesting
+
+Es importante tener en cuenta que puedes usar cualquier combinación de anclajes, pestañas y menús desplegables - cualquiera de ellos puede anidarse dentro de los otros de manera intercambiable.
+
+De esta manera, puedes crear una estructura de navegación muy compleja que sea fácil de gestionar.
+
+
+ ```json Anchors
+ {
+ "navigation": {
+ "anchors": [
+ {
+ "anchor": "Anchor 1",
+ "groups": [
+ {
+ "group": "Group 1",
+ "pages": [
+ "some-folder/file-1",
+ "another-folder/file-2"
+ "just-a-file"
+ ]
+ }
+ ]
+ }
+ {
+ "anchor": "Anchor 2",
+ "groups": [
+ {
+ "group": "Group 2",
+ "pages": [
+ "some-other-folder/file-1",
+ "various-different-folders/file-2",
+ "another-file"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ```
+
+ ```json Tabs
+ {
+ "navigation": {
+ "tabs": [
+ {
+ "tab": "Tab 1",
+ "groups": [
+ {
+ "group": "Group 1",
+ "pages": [
+ "some-folder/file-1",
+ "another-folder/file-2"
+ "just-a-file"
+ ]
+ }
+ ]
+ }
+ {
+ "tab": "Tab 2",
+ "groups": [
+ {
+ "group": "Group 2",
+ "pages": [
+ "some-other-folder/file-1",
+ "various-different-folders/file-2",
+ "another-file"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ```
+
+ ```json Tabs with external anchors
+ {
+ "navigation": {
+ "tabs": [
+ {
+ "tab": "Tab 1",
+ "global": {
+ "anchors": [
+ {
+ "anchor": "Anchor 1",
+ "href": "https://mintlify.com/docs"
+ }
+ ]
+ },
+ "groups": [
+ {
+ "group": "Group 1",
+ "pages": [
+ "some-folder/file-1",
+ "another-folder/file-2"
+ "just-a-file"
+ ]
+ }
+ ]
+ }
+ {
+ "tab": "Tab 2",
+ "groups": [
+ {
+ "group": "Group 2",
+ "pages": [
+ "some-other-folder/file-1",
+ "various-different-folders/file-2",
+ "another-file"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ```
+
diff --git a/es/pages.mdx b/es/pages.mdx
new file mode 100644
index 00000000..a8487aad
--- /dev/null
+++ b/es/pages.mdx
@@ -0,0 +1,150 @@
+---
+- title: Páginas
+- description: Las páginas son los bloques de construcción de tu documentación
+- icon: letter-text
+---
+
+## Conceptos básicos
+
+Cada página es un archivo MDX que debe comenzar con `---` al principio y al final. Esto se utiliza para definir los metadatos de la página, como el título y la descripción.
+
+Por ejemplo, puedes definir el título de esta página de la siguiente manera.
+
+```jsx
+---
+title: "Your title goes here"
+---
+```
+
+## Descripciones
+
+Puedes agregar una descripción que muestre el resumen de la página debajo del título con el metadato `description`.
+
+```jsx
+---
+description: "Your description goes here"
+---
+```
+
+## Título de la barra lateral
+
+Si deseas mostrar un título diferente en la navegación, puedes establecer el metadato `sidebarTitle`. Esto es útil si tu título es largo y quieres algo más corto en los enlaces de navegación.
+
+```jsx
+---
+title: "Your very long page title you want to shorten"
+sidebarTitle: "Short title"
+---
+```
+
+## Iconos
+
+Puedes establecer un icono para tu elemento de la barra lateral como el de esta página. Puedes establecer iconos utilizando el metadato `icon`.
+
+```jsx
+---
+title: "Code Block"
+icon: "code"
+---
+```
+
+Puedes establecer iconos de [Font Awesome](https://fontawesome.com/icons) y [Lucide](https://lucide.dev/icons), dependiendo de la [configuración de la biblioteca de iconos](settings#param-icons).
+
+También puedes establecer el tipo de icono para los iconos de Font Awesome (opcional). Si no se establece, el tipo de icono será regular.
+
+```jsx
+---
+iconType: "solid"
+---
+```
+
+## Páginas de API
+
+Las páginas de API te permiten construir áreas de juego interactivas para API. Para crear una página de API, debes establecer una propiedad `api` o `openapi` en los metadatos de la página.
+
+Aprende más sobre las páginas de API visitando las [guías de páginas de API](/es/api-playground/overview).
+
+```jsx
+---
+openapi: "GET /endpoint"
+---
+```
+
+## Modo de página
+
+La configuración del Modo de Página te permite personalizar la apariencia de tu página. Puedes elegir entre diferentes modos para ajustar el diseño según tus necesidades. Si no se especifica ningún modo, la página utilizará la configuración predeterminada.
+
+### Predeterminado
+
+Si no se proporciona un modo específico, la página utilizará la configuración estándar por defecto. Esto significa que la página mostrará la tabla de contenidos predeterminada y otros elementos estándar.
+
+```jsx
+---
+title: "Default page title"
+---
+```
+
+### Modo Ancho
+
+En el Modo Ancho, puedes ocultar la tabla de contenidos (ToC) en el lado derecho de la página. Esto es particularmente útil si tu página no tiene encabezados o si prefieres utilizar el espacio horizontal adicional para más contenido.
+
+```jsx
+---
+mode: "wide"
+---
+```
+
+### Modo Personalizado
+
+El Modo Personalizado proporciona un diseño minimalista eliminando todos los elementos excepto la barra superior. Este modo ofrece un lienzo en blanco, ideal para crear una "página de inicio" o cualquier página donde desees un entorno limpio y libre de distracciones.
+
+```jsx
+---
+mode: "custom"
+---
+```
+
+### Modo Centrado
+
+El Modo Centrado elimina la barra lateral y la tabla de contenidos, y centra el contenido de la página. Este modo es excelente para registros de cambios o cualquier página donde quieras enfocarte en el contenido.
+
+```jsx
+---
+mode: "center"
+---
+```
+
+## Enlaces externos
+
+Si deseas que la barra lateral abra una URL externa, puedes establecer el metadato `url` en cualquier página.
+
+```jsx
+---
+title: "Page that goes to external link"
+url: "https://www.npmjs.com/package/mint"
+---
+```
+
+## Optimización para motores de búsqueda
+
+Puedes establecer etiquetas meta como la imagen que se muestra cuando se comparte en redes sociales pasándolas a los metadatos de tu página.
+
+Ten en cuenta que las etiquetas meta con dos puntos deben estar entre comillas.
+
+```jsx
+---
+"twitter:image": "/images/your-photo.jpg"
+---
+```
+
+Consulta [SEO](/es/settings/seo) para obtener más información sobre los metadatos de SEO.
+
+## Optimización de búsqueda interna
+
+También puedes mejorar la capacidad de descubrimiento de una página específica en la búsqueda incorporada proporcionando `keywords` en tus metadatos. Estas palabras clave no aparecerán como parte del contenido de la página ni en los resultados de búsqueda, pero los usuarios que las busquen verán la página como resultado.
+
+```jsx
+---
+keywords: ['search', 'indexing']
+---
+```
diff --git a/es/quickstart.mdx b/es/quickstart.mdx
new file mode 100644
index 00000000..5d8bdb7e
--- /dev/null
+++ b/es/quickstart.mdx
@@ -0,0 +1,259 @@
+---
+- title: Inicio rápido
+- description: Despliega tu documentación en minutos
+- icon: rocket
+---
+
+Esta guía de inicio rápido lo guiará a través del proceso de configuración e implementación de su sitio de documentación en solo unos minutos.
+
+Al final de esta guía, tendrá un sitio de documentación en vivo que está listo para personalizar y expandir.
+
+
+ **Requisitos previos**: Antes de comenzar, asegúrese de [crear una cuenta](https://mintlify.com/start) y completar el proceso de incorporación.
+
+
+## Primeros pasos
+
+Una vez que haya completado el proceso de incorporación, su sitio de documentación se implementará automáticamente en una URL única con el siguiente formato.
+
+```
+https://.mintlify.app
+```
+
+Puede encontrar su URL en la página de Resumen del panel de control.
+
+
+
+
+
+
+
+Esta URL está disponible instantáneamente y se actualizará cada vez que realice cambios en su documentación. Es perfecta para pruebas y para compartir con su equipo durante el desarrollo.
+
+### Instale la aplicación de GitHub
+
+Mintlify proporciona una aplicación de GitHub que automatiza el proceso de implementación cuando envía cambios a su repositorio.
+
+Puede instalar la aplicación de GitHub siguiendo las instrucciones de la lista de verificación de incorporación o desde su panel de control.
+
+1. Navegue a **Configuración** en su panel de control de Mintlify.
+2. Seleccione **Aplicación de GitHub** en la barra lateral.
+3. Seleccione **Instalar aplicación de GitHub**. Esto abrirá una nueva pestaña en la página de instalación de la aplicación de GitHub.
+4. Seleccione la organización o cuenta de usuario donde desea instalar la aplicación. Luego seleccione los repositorios que desea conectar.
+
+
+
+
+
+
+
+
+ Recuerde actualizar los permisos de la aplicación de GitHub si mueve la documentación a un repositorio diferente.
+
+
+### Autorice su cuenta de GitHub
+
+1. Navegue a **Configuración** en su panel de control de Mintlify.
+2. Seleccione **Mi perfil** en la barra lateral.
+3. Seleccione **Autorizar cuenta de GitHub**. Esto abrirá una nueva pestaña en la página de autorización de GitHub.
+
+
+ Es posible que necesite un administrador de su organización de GitHub para autorizar su cuenta dependiendo de la configuración de su organización.
+
+
+## Flujos de trabajo de edición
+
+Mintlify ofrece dos flujos de trabajo diferentes para crear y mantener su documentación.
+
+
+ Para desarrolladores que prefieren trabajar con sus herramientas existentes. Haga clic para ir a la sección.
+
+
+
+ Para aquellos que prefieren una interfaz visual. Haga clic para ir a la sección.
+
+
+## Flujo de trabajo basado en código
+
+El flujo de trabajo basado en código se integra con su entorno de desarrollo existente y repositorios Git, haciéndolo ideal para equipos técnicos que desean gestionar la documentación junto con su código.
+
+### Instale la CLI
+
+Para trabajar localmente con su documentación, instale la Interfaz de Línea de Comandos (CLI), llamada [mint](https://www.npmjs.com/package/mint), ejecutando el siguiente comando en su terminal:
+
+
+ ```bash npm
+ npm install -g mint
+ ```
+
+ ```bash yarn
+ yarn global add mint
+ ```
+
+ ```bash pnpm
+ pnpm add -g mint
+ ```
+
+
+
+ Necesita tener instalada la versión 19 o superior de Node.js en su máquina. Si encuentra problemas de instalación, consulte la guía de solución de problemas.
+
+
+### Edite la documentación
+
+Ahora que tu entorno está configurado, puedes comenzar a editar tus archivos de documentación. Como ejemplo, vamos a actualizar el título de la página de introducción:
+
+Abre el repositorio creado durante la incorporación, encuentra el`introduction.mdx`archivo, y busca la parte superior del archivo, que debería verse así:
+
+```jsx introduction.mdx
+---
+title: "Introduction"
+description: "This is the introduction to the documentation"
+---
+```
+
+Actualiza el campo`title`a`"Hello World"`.
+
+```jsx introduction.mdx {2}
+---
+title: "Hello World"
+description: "This is the introduction to the documentation"
+---
+```
+
+### Vista previa de los cambios
+
+Para previsualizar los cambios localmente, ejecuta el siguiente comando.
+
+```bash
+mint dev
+```
+
+Tu vista previa estará disponible en`localhost:3000`.
+
+
+
+
+
+
+
+### Subir los cambios
+
+Cuando estés listo para publicar tus cambios, simplemente súbelos a tu repositorio.
+
+Mintlify detectará automáticamente los cambios, construirá tu documentación y desplegará las actualizaciones en tu sitio. Puedes monitorear el estado del despliegue en el historial de commits de tu repositorio de GitHub o en el[dashboard](https://dashboard.mintlify.com).
+
+Una vez que el despliegue esté completo, tu última actualización estará disponible en`.mintlify.app`.
+
+
+ Opcionalmente, salta el flujo de trabajo del editor web y pasa directamente a añadir un dominio personalizado.
+
+
+## Flujo de trabajo del editor web
+
+El flujo de trabajo del editor web proporciona una interfaz WYSIWYG (lo que ves es lo que obtienes) para crear y editar documentación. Es ideal para personas que quieren trabajar en su navegador web sin herramientas de desarrollo local adicionales.
+
+### Acceder al editor web
+
+1. Inicia sesión en tu[Mintlify Dashboard](https://dashboard.mintlify.com).
+2. Selecciona**Editor**en la barra lateral izquierda.
+
+
+ Si no has instalado la aplicación de GitHub, se te pedirá que lo hagas al abrir el editor web.
+
+
+
+
+
+
+
+
+### Editar la documentación
+
+En el editor web, puedes navegar por tus archivos de documentación en la barra lateral. Vamos a actualizar la página de introducción.
+
+Encuentra y haz clic en`introduction.mdx`en el explorador de archivos.
+
+Luego, en el editor visual, actualiza el campo de título a "Hello World".
+
+
+
+
+
+
+
+
+ El editor proporciona un rico conjunto de herramientas de formato y componentes. Accede a ellos escribiendo "/" en el editor para abrir el menú de comandos.
+
+
+### Publicar tus cambios
+
+Cuando estés satisfecho con tus ediciones, haz clic en el botón`Publish`en la esquina superior derecha.
+
+Tus cambios se desplegarán inmediatamente en tu sitio de documentación.
+
+Para más detalles sobre el uso del editor web, incluyendo funciones avanzadas como comandos de barra y carga de imágenes, consulta nuestra[documentación del Editor Web](/es/editor).
+
+## Añadir un dominio personalizado
+
+Aunque tu subdominio`.mintlify.app`funciona bien para pruebas y desarrollo, la mayoría de los equipos prefieren usar un dominio personalizado para la documentación en producción.
+
+Para añadir un dominio personalizado, ve a`Settings`>`Custom Domain`desde el dashboard.
+
+
+
+
+
+
+
+Ingresa tu dominio (por ejemplo, docs.tuempresa.com) y sigue las instrucciones proporcionadas para configurar los ajustes DNS con tu proveedor de dominio.
+
+
+ | Tipo de registro | Nombre | Valor | TTL |
+ | ---------------- | ------------------- | ------------------ | ---- |
+ | CNAME | docs (o subdominio) | cname.mintlify.app | 3600 |
+
+
+
+ Los cambios de DNS pueden tardar hasta 48 horas en propagarse, aunque a menudo se completan mucho antes.
+
+
+## Próximos pasos
+
+¡Felicidades! Has desplegado con éxito tu sitio de documentación con Mintlify. Aquí tienes algunos pasos sugeridos para mejorar tu documentación:
+
+
+ Aprende cómo personalizar colores, fuentes y la apariencia general de tu sitio de documentación.
+
+
+
+ Estructura tu documentación con una navegación intuitiva para ayudar a los usuarios a encontrar lo que necesitan.
+
+
+
+ Mejora tu documentación con componentes interactivos como acordeones, pestañas y ejemplos de código.
+
+
+
+ Crea referencias de API interactivas con especificaciones OpenAPI y AsyncAPI.
+
+
+## Solución de problemas
+
+Si encuentras algún problema durante el proceso de configuración, consulta nuestras soluciones comunes de resolución de problemas:
+
+
+
+ Asegúrate de tener Node.js v19+ instalado y de estar ejecutando el comando`mint dev`desde el directorio que contiene tu archivo`docs.json`.
+
+
+
+ El despliegue puede tardar hasta unos minutos. Verifica tus GitHub Actions (para el flujo de trabajo basado en código) o los registros de despliegue en el dashboard de Mintlify para asegurarte de que no haya errores de compilación.
+
+
+
+ Verifica que tus registros DNS estén configurados correctamente y permite tiempo suficiente para la propagación del DNS (hasta 48 horas). Puedes usar herramientas como[DNSChecker](https://dnschecker.org)para verificar tu registro CNAME.
+
+
+
+¿Necesitas más ayuda?[Contacta a nuestro equipo de soporte](mailto:support@mintlify.com).
diff --git a/es/react-components.mdx b/es/react-components.mdx
new file mode 100644
index 00000000..2d3f55f6
--- /dev/null
+++ b/es/react-components.mdx
@@ -0,0 +1,211 @@
+---
+- title: React
+- description: Construye elementos interactivos y reutilizables con componentes de React
+- icon: react
+---
+
+import { Counter } from "/snippets/counter.mdx";
+import { ColorGenerator } from "/snippets/color-generator.mdx";
+
+[Los componentes de React](https://react.dev)son una forma poderosa de crear elementos interactivos y reutilizables en tu documentación.
+
+Puedes usar React directamente en tus archivos MDX sin ninguna configuración adicional.
+
+## Uso de Componentes React
+
+Puedes construir componentes directamente en tus archivos MDX usando[hooks de React](https://react.dev/reference/react/hooks).
+
+### Ejemplo Básico
+
+Aquí tienes un ejemplo básico de un componente contador:
+
+```jsx
+export const Counter = () => {
+ const [count, setCount] = useState(0);
+
+ return (
+
+
Current count: {count}
+
+
+ );
+}
+```
+
+El componente`Counter`puede entonces ser utilizado en tus archivos MDX de esta manera:
+
+```jsx
+
+```
+
+Y el componente se renderizará como un componente React en el archivo MDX.
+
+
+
+## Importación de Componentes
+
+Al igual que en React regular, puedes importar componentes de otros archivos.
+
+```jsx
+import { ColorGenerator } from "/snippets/color-generator.mdx"
+```
+
+
+ Pero a diferencia de React regular, no puedes importar componentes de cada archivo MDX. Los componentes reutilizables solo pueden ser referenciados desde archivos MDX dentro de la carpeta`snippets`.
+
+
+Después de importar el componente, puedes usarlo en tus archivos MDX de esta manera:
+
+```jsx
+
+```
+
+Aprende más sobre[snippets reutilizables](/es/reusable-snippets).
+
+### Ejemplo Complejo
+
+También puedes construir componentes mucho más complejos. Aquí tienes un ejemplo de un componente generador de colores que utiliza múltiples hooks de React:
+
+```jsx /snippets/color-generator.mdx [expandable]
+export const ColorGenerator = () => {
+ const [hue, setHue] = useState(180)
+ const [saturation, setSaturation] = useState(50)
+ const [lightness, setLightness] = useState(50)
+ const [colors, setColors] = useState([])
+
+ useEffect(() => {
+ const newColors = []
+ for (let i = 0; i < 5; i++) {
+ const l = Math.max(10, Math.min(90, lightness - 20 + i * 10))
+ newColors.push(`hsl(${hue}, ${saturation}%, ${l}%)`)
+ }
+ setColors(newColors)
+ }, [hue, saturation, lightness])
+
+ const copyToClipboard = (color) => {
+ navigator.clipboard
+ .writeText(color)
+ .then(() => {
+ console.log(`Copied ${color} to clipboard!`)
+ })
+ .catch((err) => {
+ console.error("Failed to copy: ", err)
+ })
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ {colors.map((color, idx) => (
+
copyToClipboard(color)}
+ />
+ ))}
+
+
+
+
+ Base color: hsl({hue}, {saturation}%, {lightness}%)
+
+
+
+
+ )
+}
+```
+
+El componente anterior puede entonces ser utilizado en tus archivos MDX de esta manera:
+
+```jsx
+
+```
+
+Y el componente se renderizará como un componente React en el archivo MDX.
+
+
+
+## Consideraciones
+
+
+
+ Los componentes de hook de React se renderizan del lado del cliente, lo que tiene varias implicaciones:
+
+ * **SEO**: Los motores de búsqueda podrían no indexar completamente el contenido dinámico
+ * **Carga Inicial**: Los visitantes pueden experimentar un destello de contenido en carga antes de que los componentes se rendericen
+ * **Accesibilidad**: Asegúrate de que los cambios de contenido dinámico sean anunciados a los lectores de pantalla
+
+
+
+ * **Optimiza los Arrays de Dependencias**: Incluye solo las dependencias necesarias en tus arrays de dependencias de`useEffect`useEffect
+ * **Memoriza Cálculos Complejos**: Usa`useMemo`useMemo`useCallback`useCallback para operaciones costosas
+ * **Reducir Re-renderizados**: Divide los componentes grandes en otros más pequeños para evitar re-renderizados en cascada
+ * **Carga Perezosa**: Considera la carga perezosa de componentes complejos para mejorar el tiempo de carga inicial de la página
+
+
diff --git a/es/reusable-snippets.mdx b/es/reusable-snippets.mdx
new file mode 100644
index 00000000..0675c7c8
--- /dev/null
+++ b/es/reusable-snippets.mdx
@@ -0,0 +1,89 @@
+---
+- title: Fragmentos Reutilizables
+- description: Fragmentos personalizados reutilizables para mantener el contenido
+ sincronizado
+- icon: recycle
+---
+
+Uno de los principios fundamentales del desarrollo de software es DRY (Don't Repeat Yourself, No Te Repitas), que también se aplica a la documentación. Si te encuentras repitiendo el mismo contenido en múltiples lugares, deberías crear un fragmento personalizado para mantener tu contenido sincronizado.
+
+## Creando un fragmento personalizado
+
+**Precondición**: Debes crear tu archivo de fragmento en el directorio`snippets` para que la importación funcione.
+
+Cualquier página en el directorio`snippets` será tratada como un fragmento y no se renderizará como una página independiente. Si deseas crear una página independiente a partir del fragmento, importa el fragmento en otro archivo y llámalo como un componente.
+
+### Exportación por defecto
+
+1. Agrega contenido a tu archivo de fragmento que deseas reutilizar. Opcionalmente, puedes agregar variables que se pueden llenar a través de props cuando importes el fragmento. En este ejemplo, nuestra variable es word.
+
+```typescript snippets/my-snippet.mdx
+Hello world! This is my content I want to reuse across pages.
+```
+
+2. Importa el fragmento en tu archivo de destino.
+
+```typescript destination-file.mdx
+---
+title: My title
+description: My Description
+---
+
+import MySnippet from '/snippets/path/to/my-snippet.mdx';
+
+## Header
+
+Lorem impsum dolor sit amet.
+
+
+
+```
+
+### Exportación con variables
+
+1. Opcionalmente, puedes agregar variables que se pueden llenar a través de props cuando importes el fragmento. En este ejemplo, nuestra variable es word.
+
+```typescript snippets/my-snippet.mdx
+My keyword of the day is {word}.
+```
+
+2. Importa el fragmento en tu archivo de destino con la variable. La propiedad se llenará según tu especificación.
+
+```typescript destination-file.mdx
+---
+title: My title
+description: My Description
+---
+
+import MySnippet from '/snippets/path/to/my-snippet.mdx';
+
+## Header
+
+Lorem impsum dolor sit amet.
+
+
+
+```
+
+### Variables reutilizables
+
+1. Exporta una variable desde tu archivo de fragmento:
+
+```typescript snippets/path/to/custom-variables.mdx
+export const myName = 'my name';
+
+export const myObject = { fruit: 'strawberries' };
+```
+
+2. Importa el fragmento desde tu archivo de destino y usa la variable:
+
+```typescript destination-file.mdx
+---
+title: My title
+description: My Description
+---
+
+import { myName, myObject } from '/snippets/path/to/custom-variables.mdx';
+
+Hello, my name is {myName} and I like {myObject.fruit}.
+```
diff --git a/es/settings.mdx b/es/settings.mdx
new file mode 100644
index 00000000..2c3ed06e
--- /dev/null
+++ b/es/settings.mdx
@@ -0,0 +1,798 @@
+---
+- title: Ajustes
+- description: Configura los ajustes globales para tu documentación
+- icon: settings-2
+---
+
+Cada sitio de documentación requiere un **docs.json** archivo.
+
+Este archivo contiene la configuración global y controla todo, desde el estilo y la navegación hasta las integraciones.
+
+## Referencia
+
+Esta sección contiene la referencia completa para el archivo docs.json.
+
+### Personalización
+
+
+ Uno de los siguientes: `mint`, `maple`, `palm`, `willow`, `linden`, `almond`.
+
+ El tema de diseño del proyecto. Consulta la página de [Themes](themes) para más información.
+
+
+
+ El nombre del proyecto, organización o producto
+
+
+
+ Los colores a utilizar en tu documentación. Como mínimo, debes definir el color primario. Por ejemplo:
+
+ ```json
+ {
+ "colors": {
+ "primary": "#ff0000"
+ }
+ }
+ ```
+
+
+
+ El color primario del tema
+
+ Debe ser un código hexadecimal que comience con `#`
+
+
+
+ El color claro del tema. Utilizado para el modo oscuro
+
+ Debe ser un código hexadecimal que comience con `#`
+
+
+
+ El color oscuro del tema. Utilizado para el modo claro
+
+ Debe ser un código hexadecimal que comience con `#`
+
+
+
+
+
+ Descripción opcional utilizada para SEO e indexación de LLM
+
+
+
+ El logotipo (tanto para modo claro como oscuro)
+
+
+
+ Ruta que apunta al archivo de logotipo claro para usar en modo oscuro, incluyendo la extensión del archivo. Ejemplo: `/logo.png`
+
+
+
+ Ruta que apunta al archivo de logotipo oscuro para usar en modo claro, incluyendo la extensión del archivo. Ejemplo: `/logo-dark.png`
+
+
+
+ La URL a la que redirigir al hacer clic en el logotipo. Si no se proporciona, el logotipo enlazará a la página de inicio. Ejemplo: `https://example.com`
+
+
+
+
+
+ La ruta a tu archivo de favicon en la carpeta de documentos, incluyendo la extensión del archivo. El archivo se redimensionará automáticamente a los tamaños apropiados de favicon.
+ Puede ser un solo archivo o un par para modo claro y oscuro. Ejemplo: `/favicon.png`
+
+
+
+ Ruta que apunta al archivo de favicon claro para usar en modo oscuro, incluyendo la extensión del archivo. Ejemplo: `/favicon.png`
+
+
+
+ Ruta que apunta al archivo de favicon oscuro para usar en modo claro, incluyendo la extensión del archivo. Ejemplo: `/favicon-dark.png`
+
+
+
+
+
+ Configuraciones de estilo
+
+
+
+ El estilo de las cejas del contenido. Por defecto es `section`.
+
+
+
+ El tema del bloque de código. Por defecto es `system`.
+
+
+
+
+
+ Configuración de la biblioteca de iconos
+
+
+
+ La biblioteca de iconos a utilizar. Por defecto es `fontawesome`.
+
+
+
+
+
+
+
+ La familia de fuentes, como "Open Sans", "Playfair Display"
+
+
+
+ El peso de la fuente, como 400, 700. Se admiten pesos de fuente precisos como 550 para fuentes variables.
+
+
+
+ La fuente de la fuente, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2)
+
+
+
+ El formato de la fuente, puede ser uno de woff, woff2
+
+
+
+
+
+ La familia de fuentes, como "Open Sans", "Playfair Display"
+
+
+
+ El peso de la fuente, como 400, 700. Se admiten pesos de fuente precisos como 550 para fuentes variables.
+
+
+
+ La fuente de la fuente, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2)
+
+
+
+ El formato de la fuente, puede ser uno de woff, woff2
+
+
+
+
+
+
+
+ La familia de fuentes, como "Open Sans", "Playfair Display"
+
+
+
+ El peso de la fuente, como 400, 700. Se admiten pesos de fuente precisos como 550 para fuentes variables.
+
+
+
+ La fuente de la fuente, como [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2)
+
+
+
+ El formato de la fuente, puede ser uno de woff, woff2
+
+
+
+
+
+
+
+ Configuración del interruptor de modo claro / oscuro
+
+
+
+ El modo claro/oscuro predeterminado. Por defecto es `system`
+
+
+
+ Si se debe ocultar el interruptor de modo claro / oscuro. Por defecto es `true`.
+
+
+
+
+
+ Configuración del color de fondo y decoración
+
+
+
+
+
+
+
+
+
+
+
+ La decoración de fondo del tema
+
+
+
+ Los colores del fondo
+
+
+
+ El color en formato hexadecimal para usar en modo claro
+
+ Debe coincidir con el patrón: ^#(\[a-fA-F0-9]{6}|\[a-fA-F0-9]{3})\$
+
+
+
+ El color en formato hexadecimal para usar en modo oscuro
+
+ Debe coincidir con el patrón: ^#(\[a-fA-F0-9]{6}|\[a-fA-F0-9]{3})\$
+
+
+
+
+
+
+### Structure
+
+
+ Contenido y configuración de la barra de navegación
+
+
+
+ Los enlaces en la barra de navegación
+
+
+
+
+
+ Una ruta válida o enlace externo
+
+
+
+
+
+
+
+
+
+ La etiqueta para el botón primario. Esto solo se aplica cuando `type` está configurado como `button`.
+
+
+
+ Una ruta válida o enlace externo. Si `type` está configurado como `github`, esta será la URL al repositorio.
+
+
+
+
+
+
+
+ La estructura de navegación del contenido
+
+
+
+ Agregar enlaces externos que aparecerán en todas las secciones y páginas independientemente del anidamiento de navegación
+
+
+
+
+
+ El nombre del idioma en formato ISO 639-1
+
+
+
+ Si este idioma es el idioma predeterminado
+
+
+
+ Si la opción actual está oculta por defecto
+
+
+
+ Una ruta válida o enlace externo
+
+
+
+
+
+
+
+ El nombre de la versión
+
+ Longitud mínima: 1
+
+
+
+ Si esta versión es la versión predeterminada
+
+
+
+ Si la opción actual está oculta por defecto
+
+
+
+ Un enlace externo
+
+
+
+
+
+
+
+ El nombre de la pestaña
+
+ Longitud mínima: 1
+
+
+
+ El icono que se mostrará en la sección
+
+
+
+ Si la opción actual está oculta por defecto
+
+
+
+ Un enlace externo
+
+
+
+
+
+
+
+ El nombre del ancla
+
+ Longitud mínima: 1
+
+
+
+ El icono que se mostrará en la sección
+
+
+
+
+
+ El color en formato hexadecimal para usar en modo claro
+
+ Debe coincidir con el patrón: ^#(\[a-fA-F0-9]{6}|\[a-fA-F0-9]{3})\$
+
+
+
+ El color en formato hexadecimal para usar en modo oscuro
+
+ Debe coincidir con el patrón: ^#(\[a-fA-F0-9]{6}|\[a-fA-F0-9]{3})\$
+
+
+
+
+
+ Si la opción actual está oculta por defecto
+
+
+
+ Una ruta válida o enlace externo
+
+
+
+
+
+
+
+ El nombre del menú desplegable
+
+ Longitud mínima: 1
+
+
+
+ El icono que se mostrará en la sección
+
+
+
+ Si la opción actual está oculta por defecto
+
+
+
+ Un enlace externo
+
+
+
+
+
+
+
+ Organizando por [idiomas](navigation#localization)
+
+
+
+ Organizando por [versiones](navigation#versions)
+
+
+
+ Organizando por [pestañas](navigation#divisions#tabs)
+
+
+
+ Organizando por [anclas](navigation#divisions#anchors)
+
+
+
+ Organizando por [desplegables](navigation#divisions#dropdowns)
+
+
+
+ Organizando por [grupos](navigation#pages#pages)
+
+
+
+ Un array de [rutas de página o grupos](navigation#pages#groups)
+
+
+
+
+
+ Configuraciones del pie de página
+
+
+
+ Un objeto en el que cada clave es el nombre de una plataforma de redes sociales, y cada valor es la url de tu perfil. Por ejemplo:
+
+ ```json
+ {
+ "x": "https://x.com/mintlify"
+ }
+ ```
+
+ Nombres de propiedades válidos: `x`, `website`, `facebook`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`, `x-twitter`, `earth-americas`, `bluesky`, `threads`, `reddit`, `podcast`
+
+
+
+ Los enlaces que se mostrarán en el pie de página
+
+
+
+ El título del encabezado de la columna
+
+ Longitud mínima: 1
+
+
+
+ Los enlaces que se mostrarán en la columna
+
+
+
+ La etiqueta del enlace
+
+ Longitud mínima: 1
+
+
+
+ La url del enlace
+
+
+
+
+
+
+
+
+
+ Configuraciones del banner
+
+
+
+ El contenido del banner. Puede ser una cadena de texto o una cadena de markdown. Por ejemplo:
+
+ ```json
+ {
+ "content": "🚀 Banner is live! [Learn more](mintlify.com)"
+ }
+ ```
+
+
+
+ Si el banner se puede descartar. Por defecto es `false`.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Las opciones que se mostrarán en el menú contextual. La primera opción es la opción predeterminada.
+
+ * `copy`: Copiar la página actual como markdown al portapapeles
+ * `view`: Ver la página actual como markdown en una nueva pestaña
+ * `chatgpt`: Alimentar la página actual a ChatGPT
+ * `claude`: Alimentar la página actual a Claude
+
+
+
+
+ El menú contextual solo está disponible en despliegues de vista previa y producción.
+
+
+
+
+
+### Configuraciones de API
+
+
+ Configuración de referencia de API y ajustes del playground
+
+
+
+ Una cadena o un array de cadenas de urls absolutas o relativas que apuntan al archivo(s) OpenAPI
+
+
+
+ Longitud mínima: 1
+
+
+
+ sin barra inicial en el directorio
+
+
+
+
+
+ Una cadena o un array de cadenas de urls absolutas o relativas que apuntan al archivo(s) AsyncAPI
+
+
+
+ Longitud mínima: 1
+
+
+
+
+
+
+
+ Configuraciones para el playground de API
+
+
+
+ El modo de visualización del playground de API. Por defecto es `interactive`.
+
+
+
+ Si se deben pasar las solicitudes de API a través de un servidor proxy. Por defecto es `true`.
+
+
+
+
+
+ Configuraciones para los ejemplos de API autogenerados
+
+
+
+ Lenguajes de ejemplo para los fragmentos de API autogenerados
+
+
+
+ Si se deben mostrar parámetros opcionales en los ejemplos de api, por defecto es `all`
+
+
+
+
+
+ Configuraciones para páginas de API generadas a partir de archivos MDX
+
+
+
+ Configuración de autenticación para la API
+
+
+
+ Método de autenticación para la API
+
+
+
+ Nombre de autenticación para la API
+
+
+
+
+
+
+
+
+
+
+### SEO y Búsqueda
+
+
+ Configuraciones de indexación SEO
+
+
+
+ Etiquetas meta añadidas a cada página. Debe ser un par clave-valor válido. Opciones posibles [aquí](https://mintlify.com/docs/settings/seo#supported-meta-tags)
+
+
+
+ Especifica qué páginas deben ser indexadas por los motores de búsqueda. Establecer `navigable` indexa las páginas que están establecidas en la navegación, `all` indexa todas las páginas. Por defecto es `navigable`.
+
+
+
+
+
+ Configuración de visualización de búsqueda
+
+
+
+ El mensaje que se mostrará en el marcador de posición de la barra de búsqueda
+
+
+
+
+### Integraciones
+
+
+ Configuraciones para integraciones oficiales
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Longitud mínima: 6
+
+
+
+
+
+
+
+ Debe coincidir con el patrón: ^G
+
+
+
+
+
+
+
+ Debe coincidir con el patrón: ^G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Longitud mínima: 6
+
+
+
+
+
+
+
+ Longitud mínima: 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Debe coincidir con el patrón: ^phc\_
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Errores
+
+
+
+
+
+
+ Si se debe redirigir a la página de inicio, si la página no se encuentra
+
+
+
+
+
+
+## Validación
+
+Se recomienda incluir la siguiente referencia de esquema en la parte superior de tu archivo docs.json para garantizar una validación adecuada durante la edición:
+
+```json
+{
+ "$schema": "https://mintlify.com/docs.json",
+ ...
+}
+```
diff --git a/es/settings/authentication-personalization/authentication-setup/choosing-a-handshake.mdx b/es/settings/authentication-personalization/authentication-setup/choosing-a-handshake.mdx
new file mode 100644
index 00000000..f030cde3
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/choosing-a-handshake.mdx
@@ -0,0 +1,86 @@
+---
+- title: Elegir un Handshake
+- description: Cómo decidir qué método de Handshake es el adecuado para su documentación
+---
+
+
+ Esta es la documentación para los métodos de**Autenticación**Handshake. La personalización ofrece un[conjunto diferente de métodos Handshake](/es/settings/authentication-personalization/personalization-setup/choosing-a-handshake).
+
+
+Antes de que sus usuarios puedan acceder al contenido personalizado, deben ser autenticados. Mintlify admite cuatro métodos de Handshake de Autenticación:
+
+1. **Contraseña**: Configure un conjunto de contraseñas globales para su sitio de documentación.
+2. **JWT**: Utilice su propio flujo de inicio de sesión para autenticar a sus usuarios mediante un JWT en la URL.
+3. **OAuth 2.0**: Integre con su servidor OAuth para habilitar el inicio de sesión de usuarios a través del flujo estándar de Código de Autorización.
+4. **Panel de Control de Mintlify**: Permita que todos los usuarios de su panel de control accedan a su documentación, sin configuración requerida.
+
+## Requisitos previos
+
+
+
+ * Sus requisitos de seguridad permiten compartir contraseñas entre los lectores de la documentación.
+
+
+
+ * Tiene algún flujo de inicio de sesión existente.
+ * Puede agregar un paso final en este flujo de inicio de sesión que cree un JWT y redirija a la documentación.
+
+
+
+ * Tiene un servidor OAuth existente que admite el flujo de Código de Autorización.
+ * Puede crear un nuevo endpoint de API al que se pueda acceder con el token de acceso OAuth devuelto.
+
+
+
+ * Sus lectores de documentación también son sus editores de documentación.
+
+
+
+## Pros y Contras
+
+
+
+ Pros:
+
+ * Configuración super simple
+ * No se requiere configuración para agregar nuevos usuarios - solo comparta la contraseña
+
+ Cons:
+
+ * Difícil revocar el acceso a su documentación sin restablecer la contraseña
+ * Se pierden las características de personalización, ya que no hay forma de diferenciar a los usuarios con la misma contraseña
+
+
+
+ Pros:
+
+ * Riesgo reducido de abuso del endpoint de API
+ * Configuración CORS cero
+ * Sin restricciones en las URL de API
+
+ Cons:
+
+ * Debe poder conectarse a su flujo de inicio de sesión existente
+
+
+
+ Pros:
+
+ * Estándar de seguridad elevado
+
+ Cons:
+
+ * Requiere trabajo significativo si se configura el servidor OAuth por primera vez
+ * Puede ser excesivo para algunas aplicaciones
+
+
+
+ Pros:
+
+ * Configuración cero
+
+ Cons:
+
+ * Requiere que todos los lectores de documentación tengan una cuenta en su panel de control de Mintlify
+
+
diff --git a/es/settings/authentication-personalization/authentication-setup/jwt.mdx b/es/settings/authentication-personalization/authentication-setup/jwt.mdx
new file mode 100644
index 00000000..e1377bc6
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/jwt.mdx
@@ -0,0 +1,115 @@
+---
+- title: JWT Handshake
+- description: Usa un flujo de inicio de sesión personalizado para autenticar usuarios
+---
+
+
+ Esta es la documentación para el apretón de manos de autenticación **Authentication** JWT. Los pasos para configurar el apretón de manos de [JWT **Personalization** Handshake](/es/settings/authentication-personalization/personalization-setup/jwt) son ligeramente diferentes.
+
+
+Si no tienes un panel de control, o si quieres mantener tu panel y documentos completamente separados, puedes usar tu propio flujo de inicio de sesión para autenticar usuarios a través de un JWT en la URL.
+
+## Implementación
+
+
+
+ Ve a tu [dashboard settings](https://dashboard.mintlify.com/products/authentication) y genera una clave privada. Almacena esta clave en un lugar seguro donde pueda ser accedida por tu backend.
+
+
+
+ Crea un flujo de inicio de sesión que haga lo siguiente:
+
+ * Autenticar al usuario
+ * Crear un JWT que contenga la información del usuario autenticado en el formato [User](../sending-data)
+ * Firmar el JWT con la clave secreta, usando el algoritmo EdDSA
+ * Crear una URL de redirección de vuelta a la ruta `/login/jwt-callback` de tus documentos, incluyendo el JWT como el hash
+
+
+
+ Vuelve a tu [dashboard settings](https://dashboard.mintlify.com/products/authentication) y agrega la URL de inicio de sesión a tus ajustes de autenticación.
+
+
+
+## Ejemplo
+
+Quiero configurar la autenticación para mis documentos alojados en `docs.foo.com`. Quiero que mis documentos estén completamente separados de mi panel de control (o no tengo un panel de control en absoluto).
+
+Para configurar la autenticación con Mintlify, voy a mi panel de Mintlify y genero un secreto JWT. Creo una URL web `https://foo.com/docs-login` que inicia un flujo de inicio de sesión para mis usuarios. Al final de este flujo de inicio de sesión, una vez que he verificado la identidad del usuario, creo un JWT que contiene los datos personalizados del usuario según la especificación de Mintlify. Uso una biblioteca JWT para firmar este JWT con mi secreto de Mintlify, creo una URL de redirección de la forma `https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}`, y redirijo al usuario.
+
+Luego voy a la configuración del panel y ingreso `https://foo.com/docs-login` en el campo URL de inicio de sesión.
+
+Así es como podría verse el código:
+
+
+ ```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), // 2 week session expiration
+ 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') // 10 second JWT expiration
+ .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()), # 10 second JWT expiration
+ 'expiresAt': int((datetime.now() + timedelta(weeks=2)).timestamp()), # 1 week session expiration
+ '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)
+ ```
+
+
+## Redirigiendo usuarios no autenticados
+
+Cuando un usuario no autenticado intenta acceder a una página específica, Mintlify preserva su destino previsto a través de un flujo de redirección:
+
+1. El usuario intenta visitar una página determinada (por ejemplo, `/quickstart`)
+
+2. Mintlify los redirige a tu URL de inicio de sesión y agrega el destino original (relativo) como un parámetro de consulta `redirect`
+
+Example:
+
+* Solicitud original: [`https://docs.foo.com/quickstart`](https://docs.foo.com/quickstart)
+
+* Redirección al inicio de sesión: [`https://foo.com/docs-login?redirect=%2Fquickstart`](https://foo.com/docs-login?redirect=%2Fquickstart)
+
+Después de una autenticación exitosa, puedes incluir este mismo parámetro `redirect` en tu URL de devolución de llamada JWT para enviar a los usuarios a su destino previsto:
+`https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}`
diff --git a/es/settings/authentication-personalization/authentication-setup/mintlify.mdx b/es/settings/authentication-personalization/authentication-setup/mintlify.mdx
new file mode 100644
index 00000000..bf520a94
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/mintlify.mdx
@@ -0,0 +1,39 @@
+---
+- title: Mintlify Auth Handshake
+- description: Usa Mintlify para autenticar usuarios
+---
+
+
+ El Mintlify Auth Handshake está disponible solo para Autenticación, *no*
+ Personalización.
+
+
+Puedes usar Mintlify para autenticar y gestionar el acceso a tu documentación. Cualquiera que pueda acceder a tu panel de control automáticamente podrá ver tu documentación.
+
+Este método de handshake también habilita despliegues de vista previa privados, de modo que solo los usuarios autenticados de Mintlify podrán acceder a tus despliegues de vista previa.
+
+
+ La autenticación está disponible solo bajo petición. Por favor{" "}
+ contacta con ventas para obtener acceso. Después de que hayamos habilitado el acceso, puedes seguir las instrucciones de implementación.
+
+
+### Ejemplo
+
+Quiero configurar la autenticación para mis documentos alojados en `docs.foo.com`. Quiero que mis documentos sean internos, y las personas que verán mis documentos son las mismas que contribuyen a mis documentos.
+
+Para configurar la autenticación con Mintlify, puedo ir a mi [panel de configuración](https://dashboard.mintlify.com/products/authentication)
+y habilitar la Autenticación con el Mintlify Auth Handshake.
+
+Luego puedo asegurarme de que cualquiera que deba poder leer los documentos haya sido añadido como usuario en mi [panel de configuración](https://dashboard.mintlify.com/settings/organization/members).
+
+## Implementación
+
+
+
+ Ve a tu [panel de configuración de Mintlify](https://dashboard.mintlify.com/products/authentication) y selecciona el Mintlify Auth Handshake.
+
+
+
+ Asegúrate de que cualquier usuario que deba poder ver tu documentación haya sido añadido como usuario en tu [panel de configuración de Mintlify](https://dashboard.mintlify.com/settings/organization/members).
+
+
diff --git a/es/settings/authentication-personalization/authentication-setup/oauth.mdx b/es/settings/authentication-personalization/authentication-setup/oauth.mdx
new file mode 100644
index 00000000..6959ebe3
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/oauth.mdx
@@ -0,0 +1,53 @@
+---
+- title: Protocolo OAuth 2.0
+- description: Integra con tu servidor OAuth para habilitar el inicio de sesión
+ del usuario a través del flujo de Código de Autorización
+---
+
+
+ Esta es la documentación para el Protocolo de Autenticación **Authentication** OAuth. Los pasos para configurar el Protocolo de [OAuth **Personalization**](/es/settings/authentication-personalization/personalization-setup/oauth) son ligeramente diferentes.
+
+
+Si tiene un servidor OAuth existente, puede integrarlo con Mintlify para una experiencia de inicio de sesión sin problemas.
+
+## Implementación
+
+
+
+ Vaya a su [configuración de autenticación de Mintlify](https://dashboard.mintlify.com/products/authentication), seleccione la opción OAuth y complete los campos requeridos:
+
+ * **URL de Autorización**: La URL base para la solicitud de autorización, a la que agregaremos los parámetros de consulta apropiados.
+ * **ID del Cliente**: Un ID para el cliente OAuth 2.0 que se utilizará.
+ * **Ámbitos**: Un array de ámbitos que se solicitarán.
+ * **URL del Token**: La URL base para la solicitud de intercambio de token.
+ * **URL de la API de Información** (opcional): El punto final que se utilizará para recuperar la información del usuario. Si se omite, el flujo OAuth solo se utilizará para verificar la identidad, y la información del usuario estará vacía.
+
+
+
+ Copie la URL de Redirección listada en la [configuración de autenticación de Mintlify](https://dashboard.mintlify.com/products/authentication) y agréguela como una URL de redirección autorizada para su servidor OAuth.
+
+
+
+ Si desea aprovechar las funciones de personalización de la autenticación, necesitará crear un punto final para recuperar información sobre sus usuarios.
+ Cree un punto final de API que pueda ser accedido con un token de acceso OAuth y responda con una carga útil JSON siguiendo el formato [User](../sending-data).
+
+ Vuelva a su [configuración de autenticación de Mintlify](https://dashboard.mintlify.com/products/authentication) y agregue la URL de la API de Información
+ a su configuración de OAuth.
+
+
+
+## Ejemplo
+
+Tengo un servidor OAuth existente que admite el flujo de Código de Autorización. Quiero configurar la autenticación para mis documentos alojados en `foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo un punto final `api.foo.com/docs/user-info` que requiere un token de acceso OAuth con el ámbito `docs-user-info` y responde con los datos personalizados del usuario según la especificación de Mintlify.
+
+Luego voy al panel de configuración, navego a la configuración de Autenticación, selecciono OAuth e ingreso los valores relevantes para el flujo OAuth y el punto final de la API de información:
+
+* **URL de autorización**: `https://auth.foo.com/authorization`
+* **ID de cliente**: `ydybo4SD8PR73vzWWd6S0ObH`
+* **Ámbitos**: `['docs-user-info']`
+* **URL del token**: `https://auth.foo.com/exchange`
+* **URL de la API de información**: `https://api.foo.com/docs/user-info`
+
+Finalmente, copio la URL de redirección mostrada en la configuración del panel y la agrego como una URL de redirección autorizada en la configuración de mi cliente OAuth.
diff --git a/es/settings/authentication-personalization/authentication-setup/password.mdx b/es/settings/authentication-personalization/authentication-setup/password.mdx
new file mode 100644
index 00000000..1ac26001
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/password.mdx
@@ -0,0 +1,40 @@
+---
+- title: Intercambio de Contraseñas
+- description: Usa un conjunto de contraseñas compartidas para autenticar usuarios
+---
+
+
+ Esta es la documentación para el Handshake de Contraseña de **Autenticación**. El Handshake de Contraseña no está disponible para Personalización.
+
+
+Si no tienes requisitos de seguridad estrictos, o no quieres gestionar una base de datos de lectores de documentación, puedes usar un conjunto de contraseñas compartidas para proteger tus documentos.
+
+
+ La autenticación está disponible solo bajo petición. Por favor{" "}
+ contacta con nuestro equipo de ventas para obtener acceso. Después de que hayamos habilitado el acceso, puedes seguir las instrucciones de implementación.
+
+
+## Implementación
+
+
+
+ Ve a tu [dashboard
+ ajustes](https://dashboard.mintlify.com/products/authentication) y crea
+ una contraseña.
+
+
+
+ Comparte de forma segura la contraseña con los lectores de tu documentación. ¡Eso es todo!
+
+
+
+## Ejemplo
+
+Quiero configurar la autenticación para mis documentos alojados en `docs.foo.com`. No quiero
+tener que hacer un seguimiento de quién puede y no puede acceder a los documentos. Mi caso de uso principal para
+la autenticación es evitar que los competidores husmeen - compartir la contraseña es lo suficientemente
+seguro para mi equipo.
+
+Para configurar la autenticación con Mintlify, voy a mi dashboard de Mintlify y agrego al
+menos una contraseña. Luego comparto esa contraseña, junto con la URL de los documentos privados,
+con los clientes potenciales.
diff --git a/es/settings/authentication-personalization/authentication-vs-personalization.mdx b/es/settings/authentication-personalization/authentication-vs-personalization.mdx
new file mode 100644
index 00000000..5e92da90
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-vs-personalization.mdx
@@ -0,0 +1,27 @@
+---
+- title: Autenticación vs Personalización
+- description: Cómo determinar qué producto es mejor para ti
+- icon: arrow-right-left
+---
+
+Mintlify ofrece tanto Autenticación como Personalización. En su mayor parte, la Autenticación es simplemente Personalización + privacidad. Sin embargo, hay algunas diferencias clave que es importante tener en cuenta, de más importante a menos importante:
+
+### Garantías de Seguridad
+
+La Autenticación es una solución de documentación privada completamente desarrollada. Cada aspecto de tus documentos, incluyendo el contenido de las páginas, imágenes, resultados de búsqueda y características del asistente de IA, son completamente inaccesibles para usuarios no autenticados.
+
+La Personalización, por otro lado, no ofrece garantías de seguridad para el contenido de tu documentación. Todo el contenido de las páginas, imágenes, resultados de búsqueda y características del asistente de IA pueden ser accedidos por el público. Incluso si estás usando la función de páginas ocultas de Personalización, un atacante motivado aún podría acceder al contenido de una página oculta.
+
+### Métodos de Handshake
+
+Debido a la diferencia en los requisitos de seguridad para Autenticación y Personalización, diferentes métodos de handshake están disponibles para cada uno. Ambos métodos ofrecen un Handshake JWT y OAuth, aunque los pasos de configuración son ligeramente diferentes.
+
+La Autenticación ofrece dos métodos de Handshake adicionales:
+
+* **Handshake de Contraseña**, que protege tu sitio web con una única contraseña global configurable.
+
+* **Mintlify Auth Handshake**, que permitirá a los usuarios ver tu documentación solo si tienen acceso a tu panel de control.
+
+La Personalización ofrece un método de Handshake adicional:
+
+* **Handshake de Sesión Compartida**, un método super simple que solo requiere configurar un único endpoint que devuelve datos para usuarios ya autenticados.
diff --git a/es/settings/authentication-personalization/authentication.mdx b/es/settings/authentication-personalization/authentication.mdx
new file mode 100644
index 00000000..155bc050
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication.mdx
@@ -0,0 +1,28 @@
+---
+- title: Autenticación
+- description: Garantiza la privacidad de tus documentos autenticando a los usuarios
+- icon: file-lock
+---
+
+
+ Los métodos de autenticación están disponibles en los planes [Growth y Enterprise](https://mintlify.com/pricing?ref=authentication). Por favor{" "}
+ contacta a ventas para más información.
+
+
+La autenticación ofrece privacidad completa para todo el contenido de tu documentación al requerir que los usuarios se autentiquen antes de ver cualquier contenido, como:
+
+* Contenido de la página de documentación
+* Imágenes utilizadas en las páginas de documentación
+* Resultados de búsqueda
+* Interacciones con el asistente de IA
+
+Puedes autenticar usuarios a través de métodos de handshake como:
+
+* [Contraseña](./authentication-setup/password)
+* [JWT](./authentication-setup/jwt)
+* [OAuth](./authentication-setup/oauth)
+* [Panel de control de Mintlify](./authentication-setup/mintlify)
+
+La autenticación es similar a nuestra oferta de [Personalización](./personalization), pero con privacidad garantizada. Además de asegurar el contenido de tu documentación, todas las características que están disponibles a través de la Personalización también están disponibles a través de la Autenticación.
+
+Consulta nuestra documentación para obtener más información sobre [elegir entre Autenticación y Personalización](./authentication-vs-personalization).
diff --git a/es/settings/authentication-personalization/partial-authentication.mdx b/es/settings/authentication-personalization/partial-authentication.mdx
new file mode 100644
index 00000000..9450ef03
--- /dev/null
+++ b/es/settings/authentication-personalization/partial-authentication.mdx
@@ -0,0 +1,25 @@
+---
+- title: Autenticación Parcial
+- description: Autenticar usuarios para ver solo ciertas páginas
+- icon: file-lock-2
+---
+
+La Autenticación Parcial permite autenticar a los usuarios para ver solo ciertas páginas.
+
+Puedes autenticar a los usuarios a través de métodos de handshake como:
+
+* [Contraseña](./authentication-setup/password)
+* [JWT](./authentication-setup/jwt)
+* [OAuth](./authentication-setup/oauth)
+* [Mintlify dashboard](./authentication-setup/mintlify)
+
+La Autenticación Parcial comparte todas las mismas características que la [Authentication](./authentication), pero con la capacidad de permitir que los usuarios no autenticados vean ciertas páginas.
+
+Por defecto, todas las páginas están protegidas. Puedes especificar qué páginas deben ser accesibles públicamente añadiendo la `public` propiedad al frontmatter de la página.
+
+```mdx
+---
+title: "My Page"
+public: true
+---
+```
diff --git a/es/settings/authentication-personalization/personalization-setup/choosing-a-handshake.mdx b/es/settings/authentication-personalization/personalization-setup/choosing-a-handshake.mdx
new file mode 100644
index 00000000..f427f926
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/choosing-a-handshake.mdx
@@ -0,0 +1,86 @@
+---
+- title: Eligiendo un Handshake
+- description: Cómo decidir qué método de Handshake es adecuado para tus docs
+---
+
+
+ Esta es la documentación para los métodos de **Personalization** Handshake. La autenticación ofrece un [conjunto diferente de métodos Handshake](/es/settings/authentication-personalization/authentication-setup/choosing-a-handshake).
+
+
+Antes de que sus usuarios puedan acceder al contenido personalizado, deben estar autenticados. Mintlify admite tres métodos de Personalization Handshake:
+
+1. **Shared Session**: Utilice el mismo token de sesión utilizado por su panel para autenticar usuarios.
+2. **JWT**: Use su propio flujo de inicio de sesión para enviar información del usuario a sus documentos a través de un JWT en la URL.
+3. **OAuth 2.0**: Intégrese con su servidor OAuth para habilitar el inicio de sesión del usuario a través del flujo PKCE.
+
+## Requisitos previos
+
+
+
+ * Tiene un panel u otro portal de usuario alojado en su dominio.
+ * Las credenciales de sesión de sus usuarios se almacenan como cookies.
+ * Puede crear un nuevo punto final de API en el mismo origen o un subdominio de su panel.
+ * Si su panel está en `foo.com`, la **API URL** debe comenzar con `foo.com` o `*.foo.com`
+ * Si su panel está en `dash.foo.com`, la **API URL** debe comenzar con `dash.foo.com` o `*.dash.foo.com`
+ * Sus documentos están alojados en el mismo dominio que su panel.
+ * Si su panel está en `foo.com`, sus **docs**debe ser alojado en`foo.com`o`*.foo.com`
+ * Si tu panel de control está en`*.foo.com`, tus**docs**deben ser alojados en`foo.com`o`*.foo.com`
+
+
+
+ * Tienes algún flujo de inicio de sesión existente.
+ * Puedes agregar un paso final en este flujo de inicio de sesión que cree un JWT y redirija a los docs.
+
+
+
+ * Tienes un servidor OAuth existente que soporta el flujo PKCE.
+ * Puedes crear un nuevo endpoint de API que pueda ser accedido por el token de acceso OAuth devuelto.
+
+
+
+## Pros y Contras
+
+
+
+ Pros:
+
+ * Los usuarios que han iniciado sesión en tu panel de control automáticamente inician sesión en tus docs
+ * Las sesiones de tus usuarios son persistentes, lo que significa que puedes actualizar datos sin requerir inicio de sesión adicional
+ * Configuración mínima requerida
+
+ Cons:
+
+ * Tus docs harán una solicitud a tu backend, lo cual puede ser indeseable
+ * Debes tener un panel de control que use autenticación de sesión
+ * Generalmente se requiere configuración CORS
+
+
+
+ Pros:
+
+ * Riesgo reducido de abuso del endpoint de API
+ * Cero configuración CORS
+ * Sin restricciones en las URLs de API
+
+ Cons:
+
+ * Debe ser capaz de conectarse a tu flujo de inicio de sesión existente
+ * Las sesiones del panel de control y la autenticación de docs están completamente desacopladas, por lo que los usuarios necesitarán iniciar sesión en tu panel de control y en tus docs por separado
+ * Cada vez que quieras actualizar los datos del usuario, tus usuarios deben volver a iniciar sesión en tus docs
+ * Si los datos de tus usuarios cambian con frecuencia, debes requerir que tus usuarios inicien sesión frecuentemente o arriesgarte a tener datos obsoletos en los docs
+ * Si los datos de tus usuarios rara vez cambian, esto no debería ser un problema
+
+
+
+ Pros:
+
+ * Estándar de seguridad elevado
+ * Sin restricciones en las URLs de API
+
+ Cons:
+
+ * Requiere trabajo significativo si se configura el servidor OAuth por primera vez
+ * Las sesiones del panel de control y la autenticación de docs están completamente desacopladas, por lo que los usuarios necesitarán iniciar sesión en tu panel de control y en tus docs por separado
+ * Puede ser excesivo para algunas aplicaciones
+
+
diff --git a/es/settings/authentication-personalization/personalization-setup/jwt.mdx b/es/settings/authentication-personalization/personalization-setup/jwt.mdx
new file mode 100644
index 00000000..3a4a0a47
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/jwt.mdx
@@ -0,0 +1,85 @@
+---
+- title: JWT Handshake
+- description: Utiliza un flujo de inicio de sesión personalizado para autenticar usuarios
+---
+
+
+ Esta es la documentación para el **Personalización** Handshake. Los pasos para configurar el [JWT **Authentication** Handshake](/es/settings/authentication-personalization/authentication-setup/jwt) son ligeramente diferentes.
+
+
+Si no tienes un panel de control, o si quieres mantener tu panel de control y documentación completamente separados, puedes usar tu propio flujo de inicio de sesión para enviar información del usuario a tu documentación a través de un JWT en la URL.
+
+## Implementación
+
+
+
+ Ve a tu [dashboard settings](https://dashboard.mintlify.com/products/authentication) y genera una clave privada. Almacena esta clave en un lugar seguro donde pueda ser accedida por tu backend.
+
+
+
+ Crea un flujo de inicio de sesión que haga lo siguiente:
+
+ * Autenticar al usuario
+ * Crear un JWT que contenga la información del usuario autenticado en el formato [User](../sending-data)
+ * Firmar el JWT con la clave secreta, utilizando el algoritmo ES256
+ * Crear una URL de redirección de vuelta a tu documentación, incluyendo el JWT como el hash
+
+
+
+ Vuelve a tu [dashboard settings](https://dashboard.mintlify.com/products/authentication) y añade la URL de inicio de sesión a tus ajustes de Personalización.
+
+
+
+## Ejemplo
+
+Quiero configurar la autenticación para mi documentación alojada en `docs.foo.com`. Quiero que mi documentación
+esté completamente separada de mi panel de control (o no tengo un panel de control en absoluto).
+
+Para configurar la autenticación con Mintlify, voy a mi panel de control de Mintlify y genero un
+secreto JWT. Creo una URL web `https://foo.com/docs-login` que inicia un flujo de inicio de sesión
+para mis usuarios. Al final de este flujo de inicio de sesión, una vez que he verificado la identidad del usuario,
+creo un JWT que contiene los datos personalizados del usuario según la especificación de Mintlify.
+Uso una biblioteca JWT para firmar este JWT con mi secreto de Mintlify, creo una URL de redirección de la
+forma `https://docs.foo.com#{SIGNED_JWT}`, y redirijo al usuario.
+
+Luego voy a la configuración del panel de control e ingreso `https://foo.com/docs-login` en el
+campo URL de inicio de sesión.
+
+Así es como podría verse el código:
+
+```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}`);
+}
+
+```
+
+## Preservando Anclas
+
+Después del inicio de sesión, si deseas redirigir a un ancla específica en la página, puedes usar el siguiente formato para crear la URL de redirección: `https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}`.
+
+Example:
+
+* Original: `https://docs.foo.com/quickstart#step-one`
+* Redirect: `https://docs.foo.com/quickstart#jwt={SIGNED_JWT}&anchor=step-one`
diff --git a/es/settings/authentication-personalization/personalization-setup/oauth.mdx b/es/settings/authentication-personalization/personalization-setup/oauth.mdx
new file mode 100644
index 00000000..be5fd80b
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/oauth.mdx
@@ -0,0 +1,49 @@
+---
+- title: OAuth 2.0 Handshake
+- description: Integra con tu servidor OAuth para habilitar el inicio de sesión de
+ usuarios a través del flujo PKCE
+---
+
+
+ Esta es la documentación para el**Personalization** Handshake de OAuth. Los pasos para configurar el[OAuth**Authentication** Handshake](/es/settings/authentication-personalization/authentication-setup/oauth) son ligeramente diferentes.
+
+
+Si tienes un servidor OAuth existente que soporta el flujo PKCE, puedes integrarlo con Mintlify para una experiencia de inicio de sesión sin problemas.
+
+## Implementación
+
+
+
+ Crea un endpoint de API que pueda ser accedido con un token de acceso OAuth, y responda con una carga útil JSON siguiendo el formato[User](../sending-data). Toma nota del alcance o alcances requeridos para acceder a este endpoint.
+
+
+
+ Ve a tu[dashboard settings](https://dashboard.mintlify.com/products/authentication), selecciona la opción OAuth, y completa los campos requeridos:
+
+ * **Authorization URL**: La URL base para la solicitud de autorización, a la cual agregaremos los parámetros de consulta apropiados.
+ * **Client ID**: Un ID para el cliente OAuth 2.0 que se utilizará.
+ * **Scopes**: Un array de alcances que serán solicitados.
+ * **Token URL**: La URL base para la solicitud de intercambio de token.
+ * **Info API URL**: El endpoint que se utilizará para recuperar la información del usuario.
+
+
+
+ Copia la Redirect URL listada en el[dashboard settings](https://dashboard.mintlify.com/products/authentication) y agrégala como una URL de redirección autorizada para tu servidor OAuth.
+
+
+
+## Ejemplo
+
+Tengo un servidor OAuth existente que soporta el flujo PKCE. Quiero configurar la autenticación para mis documentos alojados en`foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo un endpoint`api.foo.com/docs/user-info` que requiere un token de acceso OAuth con el alcance`docs-user-info`, y responde con los datos personalizados del usuario según la especificación de Mintlify.
+
+Luego voy a la configuración del panel, navego a los ajustes de Personalización, selecciono OAuth, e ingreso los valores relevantes para el flujo OAuth y el endpoint de la API de Información:
+
+* **Authorization URL**:`https://auth.foo.com/authorization`
+* **Client ID**:`ydybo4SD8PR73vzWWd6S0ObH`
+* **Scopes**:`['docs-user-info']`
+* **Token URL**:`https://auth.foo.com/exchange`
+* **Info API URL**:`https://api.foo.com/docs/user-info`
+
+Finalmente, copio la Redirect URL mostrada en la configuración del panel y la agrego como una URL de redirección autorizada en la configuración de mi cliente OAuth.
diff --git a/es/settings/authentication-personalization/personalization-setup/shared-session.mdx b/es/settings/authentication-personalization/personalization-setup/shared-session.mdx
new file mode 100644
index 00000000..e90353ae
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/shared-session.mdx
@@ -0,0 +1,57 @@
+---
+- title: Handshake de Sesión Compartida
+- description: Comparte sin problemas las sesiones de usuario entre tu dashboard y tus docs
+---
+
+
+ Esta es la documentación para el Handshake de Sesión Compartida**Personalization**. El Handshake de Sesión Compartida no está disponible para Autenticación.
+
+
+Este método utiliza la información de autenticación de sesión ya almacenada en el navegador de tu usuario para crear una experiencia de documentación sin problemas.
+
+## Implementación
+
+
+
+ Crea un endpoint de API que utilice la autenticación de sesión para identificar usuarios, y responda con una carga útil JSON siguiendo el formato[User](../sending-data).
+
+ Si el dominio de la API no*coincide exactamente*con el dominio de los docs:
+
+ * Añade el dominio de los docs al encabezado`Access-Control-Allow-Origin`de tu API (no debe ser`*`)
+ * Asegúrate de que el encabezado`Access-Control-Allow-Credentials`de tu API sea`true`
+
+
+ Estas opciones CORS solo necesitan ser habilitadas en el*único endpoint*responsable de devolver la información del usuario. No recomendamos habilitar estas opciones en todos los endpoints del dashboard.
+
+
+
+
+ Ve a tus[ajustes del dashboard](https://dashboard.mintlify.com/products/authentication)y añade la URL de la API y tu URL de Inicio de Sesión a tus ajustes de Personalización.
+
+
+
+## Ejemplos
+
+### Dashboard en subdominio, docs en subdominio
+
+Tengo un dashboard en`dash.foo.com`, que utiliza autenticación de sesión basada en cookies. Mis rutas de API del dashboard están alojadas en`dash.foo.com/api`. Quiero configurar la autenticación para mis docs alojados en`docs.foo.com`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del dashboard`dash.foo.com/api/docs/user-info`que identifica al usuario usando autenticación de sesión, y responde con sus datos personalizados según la especificación de Mintlify. Luego añado`https://docs.foo.com`a la lista de permitidos`Access-Control-Allow-Origin`Access-Control-Allow-Origin**solo para esta ruta**, y aseguro que mi configuración`Access-Control-Allow-Credentials`Access-Control-Allow-Credentials`true` **solo para esta ruta**.
+
+Luego voy a los ajustes del dashboard e introduzco`https://dash.foo.com/api/docs/user-info`para el campo URL de la API.
+
+### Dashboard en subdominio, docs en raíz
+
+Tengo un dashboard en`dash.foo.com`, que utiliza autenticación de sesión basada en cookies. Mis rutas de API del dashboard están alojadas en`dash.foo.com/api`. Quiero configurar la autenticación para mis docs alojados en`foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del dashboard`dash.foo.com/api/docs/user-info`que identifica al usuario usando autenticación de sesión, y responde con sus datos personalizados según la especificación de Mintlify. Luego añado`https://foo.com`a la lista de permitidos`Access-Control-Allow-Origin`Access-Control-Allow-Origin**solo para esta ruta**, y aseguro que mi configuración`Access-Control-Allow-Credentials`Access-Control-Allow-Credentials`true` **solo para esta ruta**.
+
+Luego voy a los ajustes del dashboard e introduzco`https://dash.foo.com/api/docs/user-info`para el campo URL de la API.
+
+### Dashboard en raíz, docs en raíz
+
+Tengo un dashboard en`foo.com/dashboard`, que utiliza autenticación de sesión basada en cookies. Mis rutas de API del dashboard están alojadas en`foo.com/api`. Quiero configurar la autenticación para mis docs alojados en`foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del dashboard`foo.com/api/docs/user-info`que identifica al usuario usando autenticación de sesión, y responde con sus datos personalizados según la especificación de Mintlify.
+
+Luego voy a los ajustes del dashboard e introduzco`https://foo.com/api/docs/user-info`para el campo URL de la API.
diff --git a/es/settings/authentication-personalization/personalization.mdx b/es/settings/authentication-personalization/personalization.mdx
new file mode 100644
index 00000000..987296ba
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization.mdx
@@ -0,0 +1,80 @@
+---
+- title: Personalización
+- description: Una lista de características desbloqueadas con Personalización
+- icon: user-pen
+---
+
+La personalización se refiere a un conjunto de características que te permiten personalizar tu experiencia de documentación basándote en cierta información sobre el usuario. Hay tres características principales de la Personalización:
+
+* **Personalizar el contenido MDX** con la información del usuario, como su nombre, plan o título.
+
+* **Prellenar claves de API** en el Área de juego de API para un uso simplificado.
+
+* **Mostrar selectivamente páginas** en la navegación basándose en los grupos del usuario.
+
+## Cómo usar
+
+### Personalización del contenido MDX
+
+Al escribir contenido, puedes usar la variable `user` para acceder a la información que has enviado a tus documentos. Aquí tienes un ejemplo simple:
+
+Hola, {user.name ?? 'reader'}!
+
+```jsx
+Hello, {user.name ?? 'reader'}!
+```
+
+Esta característica se vuelve aún más poderosa cuando se combina con datos personalizados sobre el usuario. Aquí tienes un ejemplo del mundo real que nos permite dar instrucciones específicas sobre cómo acceder a la función de Personalización basándonos en el plan existente del cliente:
+
+La personalización es una característica empresarial. {
+ 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. To speak to our team about upgrading, contact our sales team.>
+ : <>To request this feature for your enterprise org, contact our team.>
+}
+
+```jsx
+Personalization 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. To speak to our team about upgrading, contact our sales team.>
+ : <>To request this feature for your enterprise org, contact our team.>
+}
+```
+
+
+ La información en `user` solo está disponible después de que un usuario haya iniciado sesión. Para usuarios no conectados, el valor de `user` será `{}`. Para evitar que la página falle para usuarios no conectados, siempre usa encadenamiento opcional en tus campos `user`, por ejemplo `{user.org?.plan}`
+
+
+### Prellenado de claves de API
+
+Si devuelves entradas del Área de juego de API en la información del usuario, se prellenarán automáticamente en el Área de juego de API. Asegúrate de que el nombre del campo en la información del usuario coincida exactamente con el nombre en el Área de juego de API.
+
+### Mostrar/Ocultar páginas
+
+Por defecto, cada página es visible para todos los usuarios. Si quieres restringir qué páginas son visibles para tus usuarios, puedes agregar un `groups`campo en los metadatos de tu página.
+Cuando se determina qué páginas mostrar al usuario, Mintlify verificará a qué grupos pertenece el usuario.
+Si el usuario no está en ninguno de los grupos listados en los metadatos de la página, la página no se mostrará.
+
+```md
+---
+title: "Managing Your Users"
+description: "Adding and removing users from your organization"
+groups: ["admin"]
+---
+```
+
+Aquí hay una tabla que muestra si una página se muestra para diferentes combinaciones de `groups` en los metadatos del Usuario y la página:
+
+| | `groups` no en Usuario | `groups: []` en Usuario | `groups: ['admin']` en Usuario |
+| :------------------------------- | :--------------------: | :---------------------: | :----------------------------: |
+| `groups` no en metadatos | ✅ | ✅ | ✅ |
+| `groups: []` en metadatos | ❌ | ❌ | ❌ |
+| `groups: ['admin']` en metadatos | ❌ | ❌ | ✅ |
+
+
+ Ten en cuenta que un array vacío en los metadatos de la página se interpreta como "Ningún grupo
+ debe ver esta página."
+
diff --git a/es/settings/authentication-personalization/sending-data.mdx b/es/settings/authentication-personalization/sending-data.mdx
new file mode 100644
index 00000000..bfe64131
--- /dev/null
+++ b/es/settings/authentication-personalization/sending-data.mdx
@@ -0,0 +1,41 @@
+---
+- title: Envío de datos
+- description: La forma de los datos de usuario que puedes usar para personalizar
+ tu documentación
+- icon: send
+---
+
+Dependiendo de tu método de Handshake, tu API responderá con un objeto JSON sin procesar o un JWT firmado. La forma de los datos es la misma para ambos:
+
+```tsx
+type User = {
+ expiresAt?: number;
+ groups?: string[];
+ content?: Record;
+ apiPlaygroundInputs?: {
+ header?: Record;
+ query?: Record;
+ cookie?: Record;
+ server?: Record;
+ };
+};
+```
+
+
+ El momento en el que esta información debe expirar, en **segundos desde la época**. Si el usuario carga la página y el tiempo actual es posterior a este valor, los datos almacenados se eliminarán.
+ Para Handshakes JWT: Esto *no* es lo mismo que la reclamación `exp` del JWT. La reclamación `exp` determina cuándo un JWT ya no debe considerarse válido, y debe establecerse lo más bajo posible. En este caso, probablemente se pueda establecer en 10 segundos o menos. El campo `expiresAt` determina cuándo los datos recuperados deben considerarse obsoletos, y puede ser desde un día hasta varias semanas.
+
+
+
+ Una lista de grupos a los que pertenece el usuario. Esto determinará qué páginas se deben mostrar a este usuario. Si alguno de estos grupos está listado en el campo `groups` de los metadatos de una página, esa página se mostrará.
+
+
+
+ Un conjunto de valores a los que se puede acceder desde el contenido MDX usando la variable `user`. Por ejemplo, si has proporcionado `{ firstName: 'Ronan' }` como tu campo de contenido, puedes usar lo siguiente en tu MDX: `Good morning, {user.firstName}!`
+
+
+
+ Valores específicos del usuario que se rellenarán previamente en el área de juegos de la API si se proporcionan. Por ejemplo, si cada uno de mis clientes hace solicitudes en un subdominio específico, puedo enviar `{ server: { subdomain: 'foo' } }` como mi campo `apiPlaygroundInputs`, y este valor se rellenará previamente en cualquier página de API con este valor `subdomain`.
+
+ Los campos`header`, `query`, y `cookie` solo se rellenarán previamente si son parte de tu [esquema de seguridad](https://swagger.io/docs/specification/authentication/). Crear un parámetro de encabezado estándar llamado `Authorization` no es suficiente para habilitar esta función. Para saber si un campo se rellenará previamente, navega a tu documentación existente y verifica si el campo está en la sección `Authorization` o `Server`.
+
diff --git a/es/settings/broken-links.mdx b/es/settings/broken-links.mdx
new file mode 100644
index 00000000..4eff59b8
--- /dev/null
+++ b/es/settings/broken-links.mdx
@@ -0,0 +1,43 @@
+---
+- title: Redirecciones y Enlaces Rotos
+- description: Herramientas para ayudar a prevenir enlaces inválidos
+- icon: link-2
+---
+
+Cuando cambias la ruta de un archivo en tu carpeta de documentos, también cambiará la ruta de la URL a esa página. Esto puede suceder al reestructurar tus documentos o cambiar el título de la barra lateral.
+
+## Enlaces rotos
+
+Detecta enlaces rotos con nuestra CLI. Simplemente [instala la CLI](/es/installation) y ejecuta el comando:
+
+```bash
+mint broken-links
+```
+
+La CLI identificará cualquier enlace relativo en tus documentos que no exista.
+
+## Redirecciones
+
+Configura redirecciones 301 añadiendo el campo `redirects` en tu archivo `docs.json`.
+
+```json
+"redirects": [
+ {
+ "source": "/source/path",
+ "destination": "/destination/path"
+ }
+]
+```
+
+Esto redirigirá permanentemente `/source/path` a `/destination/path` para que no pierdas el SEO previo de la página original.
+
+Para hacer coincidir una ruta comodín, usa `*` después de un parámetro. En este ejemplo, `/beta/:slug*` coincidirá con `/beta/introduction` y lo redirige a `/v2/introduction`.
+
+```json
+"redirects": [
+ {
+ "source": "/beta/:slug*",
+ "destination": "/v2/:slug*"
+ }
+]
+```
diff --git a/es/settings/ci.mdx b/es/settings/ci.mdx
new file mode 100644
index 00000000..121c4578
--- /dev/null
+++ b/es/settings/ci.mdx
@@ -0,0 +1,117 @@
+---
+- title: Comprobaciones de CI
+- description: Agregue comprobaciones de enlaces rotos, linting y gramática al
+ proceso de actualización
+- icon: circle-check
+---
+
+
+ Esta función solo está disponible para clientes con [planes de pago](https://mintlify.com/pricing?ref=docs-ci) y para GitHub. El soporte para otras plataformas estará disponible pronto. Por favor{" "}
+ contacte a ventas para más información.
+
+
+Utilice comprobaciones de CI para revisar sus documentos en busca de errores y recibir advertencias antes de implementar.
+
+## Instalación
+
+Para comenzar, necesitará haber seguido los pasos en la página de [GitHub](/es/settings/github).
+
+Para las aplicaciones de GitHub, puede elegir dar permisos solo a un repositorio individual.
+Recomendamos encarecidamente que lo haga, ya que solo necesitamos acceso al repositorio donde
+se alojan sus documentos.
+
+## Configuración
+
+Puede configurar las comprobaciones de CI habilitadas para una implementación en el panel de Mintlify navegando a la pestaña 'Add-Ons'. Allí puede habilitar o deshabilitar las comprobaciones que desea ejecutar.
+
+Al habilitar las comprobaciones, puede elegir ejecutarlas a nivel `Warning` o `Blocking`.
+
+
+ Una comprobación de nivel `Blocking` proporcionará un estado de fallo si no se pasa o se sugieren cambios.
+
+ Una comprobación de nivel `Warning` nunca proporcionará un estado de fallo, incluso si hay un error o sugerencias.
+
+
+## ¿Cuándo se ejecutan?
+
+Las comprobaciones de CI están configuradas para ejecutarse en commits a su rama de implementación configurada, o en pull requests contra esa rama.
+
+## Comprobaciones de CI disponibles
+
+### Enlaces rotos
+
+De manera similar a cómo funciona el [comprobador de enlaces de CLI](/es/settings/broken-links#broken-links) en su máquina local, verificaremos automáticamente sus documentos en busca de enlaces rotos.
+Para ver los resultados de esta comprobación, puede visitar la página de resultados de comprobación de GitHub para un commit específico.
+
+### Vale
+
+[Vale](https://vale.sh/) es un linter de prosa de código abierto basado en reglas que admite una variedad de tipos de documentos, incluidos Markdown y MDX.
+
+Mintlify admite la ejecución automática de Vale en una comprobación de CI y muestra los resultados como un estado de comprobación.
+
+#### Configuración
+
+Si tiene un archivo `.vale.ini` en la raíz del directorio de contenido para su implementación, usaremos automáticamente ese archivo de configuración.
+También usaremos automáticamente cualquier archivo de configuración en su `stylesPath` especificado.
+
+¿No tiene una configuración de Vale o no está seguro de por dónde empezar? No se preocupe, Mintlify tiene una configuración predeterminada que se utilizará automáticamente si no se proporciona una.
+
+
+ Tenga en cuenta que por razones de seguridad, no podemos admitir ninguna ruta absoluta `stylesPath`, o `stylesPath` que incluyan valores `..`. Utilice rutas relativas e incluya el `stylesPath` en su repositorio.
+
+
+#### Paquetes
+
+Vale admite una variedad de [paquetes](https://vale.sh/docs/keys/packages), que se pueden usar para verificar errores de ortografía y estilo.
+Cualquier paquete que incluya en su repositorio bajo el `stylesPath` correcto se instalará y utilizará automáticamente en su configuración de Vale.
+
+Para paquetes no incluidos en su repositorio, puede especificar cualquier paquete del [registro de paquetes de Vale](https://vale.sh/explorer), y se descargarán y utilizarán automáticamente en su configuración de Vale.
+
+
+ Tenga en cuenta que por razones de seguridad, no podemos admitir la descarga automática de paquetes que no sean del [registro de paquetes de Vale](https://vale.sh/explorer).
+
+
+#### Vale con MDX
+
+Vale no admite MDX de forma nativa, pero el autor de Vale ha proporcionado una [extensión personalizada](https://github.com/errata-ai/MDX) para admitirlo.
+
+Si prefiere no usar esta extensión, recomendamos las siguientes líneas en su `.vale.ini` file:
+
+```ini
+[formats]
+mdx = md
+
+[*.mdx]
+CommentDelimiters = {/*, */}
+
+TokenIgnores = (?sm)((?:import|export) .+?$), \
+(?)(?!`), \
+(<[A-Z]\w+>.+?<\/[A-Z]\w+>)
+
+BlockIgnores = (?sm)^(<\w+\n .*\s\/>)$, \
+(?sm)^({.+.*})
+```
+
+Para usar los comentarios en el documento de Vale, use comentarios de estilo MDX `{/* ... */}`.
+Si usa la configuración `CommentDelimiters = {/*, */}` [setting](https://vale.sh/docs/keys/commentdelimiters) en su configuración, Vale interpretará automáticamente estos comentarios mientras realiza el linting.
+Esto significa que puede usar fácilmente las funciones incorporadas de Vale, como omitir líneas o secciones.
+
+```mdx
+{/* vale off */}
+
+This text will be ignored by Vale
+
+{/* vale on */}
+```
+
+Si elige no usar `CommentDelimiters`, pero aún elige usar los comentarios de Vale, debe envolver cualquier comentario de Vale en comentarios MDX `{/* ... */}`. Por ejemplo:
+
+```mdx
+{/* */}
+
+This text will be ignored by Vale
+
+{/* */}
+```
+
+Tenga en cuenta que estas etiquetas de comentarios no son compatibles dentro de los componentes de Mintlify, pero se pueden usar en cualquier lugar en el nivel base de un documento.
diff --git a/es/settings/custom-domain.mdx b/es/settings/custom-domain.mdx
new file mode 100644
index 00000000..131e2c83
--- /dev/null
+++ b/es/settings/custom-domain.mdx
@@ -0,0 +1,45 @@
+---
+- title: Dominio Personalizado
+- description: Aloje su documentación en el dominio personalizado de su sitio web
+- icon: globe
+---
+
+Para configurar su documentación en un dominio personalizado, deberá establecer el dominio personalizado deseado en su configuración de Mintlify y configurar los ajustes de DNS en su proveedor de dominio.
+
+
+ ¿Busca configurar un subdirectorio personalizado como mintlify.com/docs? Encuentre instrucciones[aquí](/es/advanced/subpath/cloudflare).
+
+
+## Configuración del Panel
+
+1. Diríjase al[panel](https://dashboard.mintlify.com)
+2. Haga clic en "Configuración".
+3. Haga clic en "Dominio Personalizado".
+4. Ingrese su dominio personalizado deseado. Por ejemplo,`docs.mintlify.com`.
+
+
+
+
+
+
+
+## Verificación con Vercel
+
+Si Vercel resulta ser su proveedor de dominio, tendrá que agregar un registro de verificación`TXT`. Esta información se mostrará en su panel después de enviar su dominio personalizado, así como se le enviará por correo electrónico.
+
+## Configurando su DNS
+
+1. Proceda a la configuración de DNS de su dominio en el sitio web de su proveedor de dominio.
+2. Cree una nueva entrada DNS, ingresando los siguientes valores:
+
+```
+CNAME | docs | cname.vercel-dns.com.
+```
+
+
+
+
+
+Si está utilizando Cloudflare como su proveedor de DNS, necesitará tener habilitada la opción de seguridad "full strict" para la configuración de https.
+
+Por favor[contacte a soporte](mailto:sales@mintlify.com)si no ve el dominio personalizado configurado después de la configuración anterior.
diff --git a/es/settings/custom-scripts.mdx b/es/settings/custom-scripts.mdx
new file mode 100644
index 00000000..d51e8874
--- /dev/null
+++ b/es/settings/custom-scripts.mdx
@@ -0,0 +1,62 @@
+---
+- title: Scripts Personalizados
+- description: Personalice completamente su documentación con CSS y JS personalizados
+- icon: code
+---
+
+Agregue CSS y JS personalizados a su documentación para personalizar completamente el aspecto y la sensación.
+
+## CSS Personalizado
+
+Agregue cualquier número de archivos CSS a su repositorio y los nombres de clase definidos se aplicarán y estarán disponibles en todos sus archivos MDX.
+
+### Agregando style.css
+
+Por ejemplo, puede agregar el siguiente archivo`style.css`para personalizar el estilo de la barra de navegación y el pie de página.
+
+```css
+#navbar {
+ background: "#fffff2";
+ padding: 1rem;
+}
+
+footer {
+ margin-top: 2rem;
+}
+```
+
+### Usando Identificadores
+
+Mintlify tiene un conjunto de identificadores comunes para ayudarlo a etiquetar elementos importantes de la interfaz de usuario. Algunos, pero no todos, se enumeran en lo siguiente:
+
+`#topbar-cta-button` `#navbar` `#sidebar` `#content-area` `#table-of-contents`
+
+
+ Use la inspección de elementos para encontrar referencias a los elementos que desea personalizar.
+
+
+
+ Las referencias y el estilo de los elementos comunes están sujetos a cambios a medida que evoluciona la plataforma. Utilice la personalización con precaución.
+
+
+## JS Personalizado
+
+El JS personalizado le permite agregar código ejecutable personalizado globalmente. Es equivalente a agregar una etiqueta`