From 81484226f3ac365c99f77a38f040f8217198084a Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Mon, 7 Apr 2025 03:13:31 +0000
Subject: [PATCH] Documentation edits made through Mintlify web editor
---
docs.json | 614 ++++---
es/advanced/dashboard/permissions.mdx | 16 +
es/advanced/dashboard/sso.mdx | 104 ++
es/advanced/mcp/generate.mdx | 41 +
es/advanced/mcp/quickstart.mdx | 97 ++
es/advanced/rest-api/chat/create-topic.mdx | 3 +
.../rest-api/chat/generate-message.mdx | 3 +
es/advanced/rest-api/overview.mdx | 36 +
es/advanced/rest-api/update/status.mdx | 3 +
es/advanced/rest-api/update/trigger.mdx | 3 +
es/advanced/subpath/cloudflare.mdx | 75 +
es/advanced/subpath/route53-cloudfront.mdx | 136 ++
es/advanced/subpath/vercel.mdx | 30 +
es/api-playground/mdx/authentication.mdx | 87 +
es/api-playground/mdx/configuration.mdx | 70 +
.../openapi/advanced-features.mdx | 139 ++
es/api-playground/openapi/setup.mdx | 147 ++
es/api-playground/openapi/writing-openapi.mdx | 33 +
es/api-playground/overview.mdx | 13 +
es/api-playground/troubleshooting.mdx | 72 +
es/changelog/overview.mdx | 393 +++++
es/code.mdx | 39 +
es/content/components/accordion-groups.mdx | 58 +
es/content/components/accordions.mdx | 42 +
es/content/components/callouts.mdx | 45 +
es/content/components/card-groups.mdx | 50 +
es/content/components/cards.mdx | 71 +
es/content/components/code-groups.mdx | 51 +
es/content/components/code.mdx | 199 +++
es/content/components/expandables.mdx | 43 +
es/content/components/frames.mdx | 39 +
es/content/components/icons.mdx | 42 +
es/content/components/mermaid-diagrams.mdx | 71 +
es/content/components/params.mdx | 69 +
es/content/components/responses.mdx | 37 +
es/content/components/steps.mdx | 73 +
es/content/components/sticky-examples.mdx | 44 +
es/content/components/tabs.mdx | 43 +
es/content/components/tooltips.mdx | 13 +
es/content/components/update.mdx | 57 +
es/development.mdx | 120 ++
es/guides/auth0.mdx | 63 +
es/image-embeds.mdx | 130 ++
es/integrations/analytics/amplitude.mdx | 23 +
es/integrations/analytics/clearbit.mdx | 23 +
es/integrations/analytics/fathom.mdx | 25 +
.../analytics/google-analytics.mdx | 43 +
.../analytics/google-tag-manager.mdx | 25 +
es/integrations/analytics/heap.mdx | 23 +
es/integrations/analytics/hotjar.mdx | 14 +
es/integrations/analytics/koala.mdx | 23 +
es/integrations/analytics/logrocket.mdx | 13 +
es/integrations/analytics/mixpanel.mdx | 13 +
es/integrations/analytics/overview.mdx | 612 +++++++
es/integrations/analytics/pirsch.mdx | 25 +
es/integrations/analytics/plausible.mdx | 28 +
es/integrations/analytics/posthog.mdx | 36 +
es/integrations/analytics/segment.mdx | 23 +
es/integrations/privacy/osano.mdx | 25 +
es/integrations/privacy/overview.mdx | 45 +
es/integrations/sdks/speakeasy.mdx | 96 ++
es/integrations/sdks/stainless.mdx | 51 +
es/integrations/support/front.mdx | 19 +
es/integrations/support/intercom.mdx | 23 +
es/integrations/support/overview.mdx | 43 +
es/list-table.mdx | 85 +
es/migration.mdx | 150 ++
es/navigation/divisions.mdx | 198 +++
es/navigation/localization.mdx | 59 +
es/navigation/overview.mdx | 26 +
es/navigation/pages.mdx | 51 +
es/navigation/versions.mdx | 63 +
es/page.mdx | 158 ++
es/quickstart.mdx | 155 ++
es/reusable-snippets.mdx | 143 ++
.../choosing-a-handshake.mdx | 86 +
.../authentication-setup/jwt.mdx | 115 ++
.../authentication-setup/mintlify.mdx | 40 +
.../authentication-setup/oauth.mdx | 51 +
.../authentication-setup/password.mdx | 45 +
.../authentication-vs-personalization.mdx | 33 +
.../authentication.mdx | 25 +
.../partial-authentication.mdx | 24 +
.../choosing-a-handshake.mdx | 86 +
.../personalization-setup/jwt.mdx | 78 +
.../personalization-setup/oauth.mdx | 48 +
.../personalization-setup/shared-session.mdx | 57 +
.../personalization.mdx | 77 +
.../sending-data.mdx | 39 +
es/settings/broken-links.mdx | 43 +
es/settings/ci.mdx | 111 ++
es/settings/custom-domain.mdx | 45 +
es/settings/custom-scripts.mdx | 62 +
es/settings/github.mdx | 54 +
es/settings/gitlab.mdx | 103 ++
es/settings/global.mdx | 1503 +++++++++++++++++
es/settings/llms.mdx | 19 +
es/settings/navigation.mdx | 298 ++++
es/settings/preview-deployments.mdx | 25 +
es/settings/seo.mdx | 83 +
es/snippets/config-upgrade.mdx | 19 +
es/snippets/custom-subpath-gating.mdx | 8 +
es/snippets/theme-card.mdx | 22 +
es/table.mdx | 30 +
es/text.mdx | 104 ++
es/themes.mdx | 37 +
es/web-editor.mdx | 298 ++++
107 files changed, 9300 insertions(+), 221 deletions(-)
create mode 100644 es/advanced/dashboard/permissions.mdx
create mode 100644 es/advanced/dashboard/sso.mdx
create mode 100644 es/advanced/mcp/generate.mdx
create mode 100644 es/advanced/mcp/quickstart.mdx
create mode 100644 es/advanced/rest-api/chat/create-topic.mdx
create mode 100644 es/advanced/rest-api/chat/generate-message.mdx
create mode 100644 es/advanced/rest-api/overview.mdx
create mode 100644 es/advanced/rest-api/update/status.mdx
create mode 100644 es/advanced/rest-api/update/trigger.mdx
create mode 100644 es/advanced/subpath/cloudflare.mdx
create mode 100644 es/advanced/subpath/route53-cloudfront.mdx
create mode 100644 es/advanced/subpath/vercel.mdx
create mode 100644 es/api-playground/mdx/authentication.mdx
create mode 100644 es/api-playground/mdx/configuration.mdx
create mode 100644 es/api-playground/openapi/advanced-features.mdx
create mode 100644 es/api-playground/openapi/setup.mdx
create mode 100644 es/api-playground/openapi/writing-openapi.mdx
create mode 100644 es/api-playground/overview.mdx
create mode 100644 es/api-playground/troubleshooting.mdx
create mode 100644 es/changelog/overview.mdx
create mode 100644 es/code.mdx
create mode 100644 es/content/components/accordion-groups.mdx
create mode 100644 es/content/components/accordions.mdx
create mode 100644 es/content/components/callouts.mdx
create mode 100644 es/content/components/card-groups.mdx
create mode 100644 es/content/components/cards.mdx
create mode 100644 es/content/components/code-groups.mdx
create mode 100644 es/content/components/code.mdx
create mode 100644 es/content/components/expandables.mdx
create mode 100644 es/content/components/frames.mdx
create mode 100644 es/content/components/icons.mdx
create mode 100644 es/content/components/mermaid-diagrams.mdx
create mode 100644 es/content/components/params.mdx
create mode 100644 es/content/components/responses.mdx
create mode 100644 es/content/components/steps.mdx
create mode 100644 es/content/components/sticky-examples.mdx
create mode 100644 es/content/components/tabs.mdx
create mode 100644 es/content/components/tooltips.mdx
create mode 100644 es/content/components/update.mdx
create mode 100644 es/development.mdx
create mode 100644 es/guides/auth0.mdx
create mode 100644 es/image-embeds.mdx
create mode 100644 es/integrations/analytics/amplitude.mdx
create mode 100644 es/integrations/analytics/clearbit.mdx
create mode 100644 es/integrations/analytics/fathom.mdx
create mode 100644 es/integrations/analytics/google-analytics.mdx
create mode 100644 es/integrations/analytics/google-tag-manager.mdx
create mode 100644 es/integrations/analytics/heap.mdx
create mode 100644 es/integrations/analytics/hotjar.mdx
create mode 100644 es/integrations/analytics/koala.mdx
create mode 100644 es/integrations/analytics/logrocket.mdx
create mode 100644 es/integrations/analytics/mixpanel.mdx
create mode 100644 es/integrations/analytics/overview.mdx
create mode 100644 es/integrations/analytics/pirsch.mdx
create mode 100644 es/integrations/analytics/plausible.mdx
create mode 100644 es/integrations/analytics/posthog.mdx
create mode 100644 es/integrations/analytics/segment.mdx
create mode 100644 es/integrations/privacy/osano.mdx
create mode 100644 es/integrations/privacy/overview.mdx
create mode 100644 es/integrations/sdks/speakeasy.mdx
create mode 100644 es/integrations/sdks/stainless.mdx
create mode 100644 es/integrations/support/front.mdx
create mode 100644 es/integrations/support/intercom.mdx
create mode 100644 es/integrations/support/overview.mdx
create mode 100644 es/list-table.mdx
create mode 100644 es/migration.mdx
create mode 100644 es/navigation/divisions.mdx
create mode 100644 es/navigation/localization.mdx
create mode 100644 es/navigation/overview.mdx
create mode 100644 es/navigation/pages.mdx
create mode 100644 es/navigation/versions.mdx
create mode 100644 es/page.mdx
create mode 100644 es/quickstart.mdx
create mode 100644 es/reusable-snippets.mdx
create mode 100644 es/settings/authentication-personalization/authentication-setup/choosing-a-handshake.mdx
create mode 100644 es/settings/authentication-personalization/authentication-setup/jwt.mdx
create mode 100644 es/settings/authentication-personalization/authentication-setup/mintlify.mdx
create mode 100644 es/settings/authentication-personalization/authentication-setup/oauth.mdx
create mode 100644 es/settings/authentication-personalization/authentication-setup/password.mdx
create mode 100644 es/settings/authentication-personalization/authentication-vs-personalization.mdx
create mode 100644 es/settings/authentication-personalization/authentication.mdx
create mode 100644 es/settings/authentication-personalization/partial-authentication.mdx
create mode 100644 es/settings/authentication-personalization/personalization-setup/choosing-a-handshake.mdx
create mode 100644 es/settings/authentication-personalization/personalization-setup/jwt.mdx
create mode 100644 es/settings/authentication-personalization/personalization-setup/oauth.mdx
create mode 100644 es/settings/authentication-personalization/personalization-setup/shared-session.mdx
create mode 100644 es/settings/authentication-personalization/personalization.mdx
create mode 100644 es/settings/authentication-personalization/sending-data.mdx
create mode 100644 es/settings/broken-links.mdx
create mode 100644 es/settings/ci.mdx
create mode 100644 es/settings/custom-domain.mdx
create mode 100644 es/settings/custom-scripts.mdx
create mode 100644 es/settings/github.mdx
create mode 100644 es/settings/gitlab.mdx
create mode 100644 es/settings/global.mdx
create mode 100644 es/settings/llms.mdx
create mode 100644 es/settings/navigation.mdx
create mode 100644 es/settings/preview-deployments.mdx
create mode 100644 es/settings/seo.mdx
create mode 100644 es/snippets/config-upgrade.mdx
create mode 100644 es/snippets/custom-subpath-gating.mdx
create mode 100644 es/snippets/theme-card.mdx
create mode 100644 es/table.mdx
create mode 100644 es/text.mdx
create mode 100644 es/themes.mdx
create mode 100644 es/web-editor.mdx
diff --git a/docs.json b/docs.json
index 44a64f824..55b4111e5 100644
--- a/docs.json
+++ b/docs.json
@@ -1,296 +1,463 @@
{
- "$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",
+ "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": "Getting Started",
- "icon": "book",
- "description": "Set up your documentation",
- "groups": [
+ "language": "en",
+ "dropdowns": [
{
- "group": "Getting Started",
- "pages": [
- "quickstart",
- {
- "group": "Editing",
- "icon": "pen-paintbrush",
- "pages": ["development", "web-editor"]
- },
- "settings/global",
+ "dropdown": "Getting Started",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
{
- "group": "Navigation",
- "icon": "map",
+ "group": "Getting Started",
"pages": [
- "navigation/overview",
- "navigation/pages",
- "navigation/divisions",
- "navigation/versions",
- "navigation/localization"
- ]
- },
- "themes",
- "migration"
- ]
- },
- {
- "group": "Writing Content",
- "pages": [
- "page",
- "text",
- "image-embeds",
- "list-table",
- "code",
- "reusable-snippets"
- ]
- },
- {
- "group": "API References",
- "pages": [
- "api-playground/overview",
- {
- "group": "OpenAPI",
- "icon": "brackets-curly",
- "pages": [
- "api-playground/openapi/setup",
- "api-playground/openapi/writing-openapi",
- "api-playground/openapi/advanced-features"
- ]
- },
- {
- "group": "MDX",
- "icon": "markdown",
- "pages": [
- "api-playground/mdx/configuration",
- "api-playground/mdx/authentication"
+ "quickstart",
+ {
+ "group": "Editing",
+ "icon": "pen-paintbrush",
+ "pages": [
+ "development",
+ "web-editor"
+ ]
+ },
+ "settings/global",
+ {
+ "group": "Navigation",
+ "icon": "map",
+ "pages": [
+ "navigation/overview",
+ "navigation/pages",
+ "navigation/divisions",
+ "navigation/versions",
+ "navigation/localization"
+ ]
+ },
+ "themes",
+ "migration"
]
},
- "api-playground/troubleshooting"
- ]
- },
- {
- "group": "Configurations",
- "pages": [
- "settings/custom-domain",
- "settings/seo",
- "settings/llms",
- "settings/custom-scripts",
- "settings/broken-links",
- "settings/github",
- "settings/gitlab",
- "settings/ci",
- "settings/preview-deployments"
- ]
- },
- {
- "group": "Advanced",
- "pages": [
{
- "group": "Custom Subdirectory",
- "icon": "folder",
+ "group": "Writing Content",
"pages": [
- "advanced/subpath/cloudflare",
- "advanced/subpath/route53-cloudfront",
- "advanced/subpath/vercel"
+ "page",
+ "text",
+ "image-embeds",
+ "list-table",
+ "code",
+ "reusable-snippets"
]
},
{
- "group": "Auth & Personalization",
- "icon": "user-lock",
+ "group": "API References",
"pages": [
- "settings/authentication-personalization/authentication",
- "settings/authentication-personalization/partial-authentication",
- "settings/authentication-personalization/personalization",
- "settings/authentication-personalization/authentication-vs-personalization",
+ "api-playground/overview",
{
- "group": "Authentication Setup",
+ "group": "OpenAPI",
+ "icon": "brackets-curly",
"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"
+ "api-playground/openapi/setup",
+ "api-playground/openapi/writing-openapi",
+ "api-playground/openapi/advanced-features"
]
},
{
- "group": "Personalization Setup",
+ "group": "MDX",
+ "icon": "markdown",
"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"
+ "api-playground/mdx/configuration",
+ "api-playground/mdx/authentication"
]
},
- "settings/authentication-personalization/sending-data"
+ "api-playground/troubleshooting"
]
},
{
- "group": "Dashboard Access",
- "icon": "house-lock",
+ "group": "Configurations",
"pages": [
- "advanced/dashboard/sso",
- "advanced/dashboard/permissions"
+ "settings/custom-domain",
+ "settings/seo",
+ "settings/llms",
+ "settings/custom-scripts",
+ "settings/broken-links",
+ "settings/github",
+ "settings/gitlab",
+ "settings/ci",
+ "settings/preview-deployments"
]
},
{
- "group": "Model Context Protocol",
- "icon": "server",
- "pages": ["advanced/mcp/quickstart", "advanced/mcp/generate"]
- },
- {
- "group": "REST API",
- "icon": "brackets-curly",
+ "group": "Advanced",
"pages": [
- "advanced/rest-api/overview",
{
- "group": "Updates",
+ "group": "Custom Subdirectory",
+ "icon": "folder",
+ "pages": [
+ "advanced/subpath/cloudflare",
+ "advanced/subpath/route53-cloudfront",
+ "advanced/subpath/vercel"
+ ]
+ },
+ {
+ "group": "Auth & Personalization",
+ "icon": "user-lock",
+ "pages": [
+ "settings/authentication-personalization/authentication",
+ "settings/authentication-personalization/partial-authentication",
+ "settings/authentication-personalization/personalization",
+ "settings/authentication-personalization/authentication-vs-personalization",
+ {
+ "group": "Authentication Setup",
+ "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",
+ "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": "Dashboard Access",
+ "icon": "house-lock",
+ "pages": [
+ "advanced/dashboard/sso",
+ "advanced/dashboard/permissions"
+ ]
+ },
+ {
+ "group": "Model Context Protocol",
+ "icon": "server",
"pages": [
- "advanced/rest-api/update/trigger",
- "advanced/rest-api/update/status"
+ "advanced/mcp/quickstart",
+ "advanced/mcp/generate"
]
},
{
- "group": "Chat API",
+ "group": "REST API",
+ "icon": "brackets-curly",
"pages": [
- "advanced/rest-api/chat/create-topic",
- "advanced/rest-api/chat/generate-message"
+ "advanced/rest-api/overview",
+ {
+ "group": "Updates",
+ "pages": [
+ "advanced/rest-api/update/trigger",
+ "advanced/rest-api/update/status"
+ ]
+ },
+ {
+ "group": "Chat API",
+ "pages": [
+ "advanced/rest-api/chat/create-topic",
+ "advanced/rest-api/chat/generate-message"
+ ]
+ }
]
}
]
}
]
- }
- ]
- },
- {
- "dropdown": "Components",
- "icon": "block-brick",
- "description": "Component library",
- "groups": [
+ },
{
- "group": "Components",
- "pages": [
- "content/components/accordions",
- "content/components/accordion-groups",
- "content/components/callouts",
- "content/components/cards",
- "content/components/card-groups",
- "content/components/code",
- "content/components/code-groups",
- "content/components/frames",
- "content/components/icons",
- "content/components/mermaid-diagrams",
- "content/components/steps",
- "content/components/tabs",
- "content/components/tooltips",
- "content/components/update"
+ "dropdown": "Components",
+ "icon": "block-brick",
+ "description": "Component library",
+ "groups": [
+ {
+ "group": "Components",
+ "pages": [
+ "content/components/accordions",
+ "content/components/accordion-groups",
+ "content/components/callouts",
+ "content/components/cards",
+ "content/components/card-groups",
+ "content/components/code",
+ "content/components/code-groups",
+ "content/components/frames",
+ "content/components/icons",
+ "content/components/mermaid-diagrams",
+ "content/components/steps",
+ "content/components/tabs",
+ "content/components/tooltips",
+ "content/components/update"
+ ]
+ },
+ {
+ "group": "API Components",
+ "pages": [
+ "content/components/params",
+ "content/components/responses",
+ "content/components/expandables",
+ "content/components/sticky-examples"
+ ]
+ }
+ ]
+ },
+ {
+ "dropdown": "Integrations",
+ "icon": "plug",
+ "description": "Connect your providers",
+ "groups": [
+ {
+ "group": "Analytics",
+ "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",
+ "pages": [
+ "integrations/sdks/speakeasy",
+ "integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Support",
+ "pages": [
+ "integrations/support/overview",
+ "integrations/support/intercom",
+ "integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privacy",
+ "pages": [
+ "integrations/privacy/overview",
+ "integrations/privacy/osano"
+ ]
+ }
]
},
{
- "group": "API Components",
- "pages": [
- "content/components/params",
- "content/components/responses",
- "content/components/expandables",
- "content/components/sticky-examples"
+ "dropdown": "Changelog",
+ "icon": "list-timeline",
+ "description": "Updates and changes",
+ "groups": [
+ {
+ "group": "Changelog",
+ "pages": [
+ "changelog/overview"
+ ]
+ }
]
}
]
},
{
- "dropdown": "Integrations",
- "icon": "plug",
- "description": "Connect your providers",
- "groups": [
+ "language": "es",
+ "dropdowns": [
{
- "group": "Analytics",
- "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"
+ "dropdown": "Getting Started",
+ "icon": "book",
+ "description": "Set up your documentation",
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": [
+ "es/quickstart",
+ "es/settings/global",
+ "es/themes",
+ "es/migration"
+ ]
+ },
+ {
+ "group": "Writing Content",
+ "pages": [
+ "es/page",
+ "es/text",
+ "es/image-embeds",
+ "es/list-table",
+ "es/code",
+ "es/reusable-snippets"
+ ]
+ },
+ {
+ "group": "API References",
+ "pages": [
+ "es/api-playground/overview",
+ "es/api-playground/troubleshooting"
+ ]
+ },
+ {
+ "group": "Configurations",
+ "pages": [
+ "es/settings/custom-domain",
+ "es/settings/seo",
+ "es/settings/llms",
+ "es/settings/custom-scripts",
+ "es/settings/broken-links",
+ "es/settings/github",
+ "es/settings/gitlab",
+ "es/settings/ci",
+ "es/settings/preview-deployments"
+ ]
+ },
+ {
+ "group": "Advanced",
+ "pages": []
+ }
]
},
{
- "group": "SDKs",
- "pages": [
- "integrations/sdks/speakeasy",
- "integrations/sdks/stainless"
+ "dropdown": "Components",
+ "icon": "block-brick",
+ "description": "Component library",
+ "groups": [
+ {
+ "group": "Components",
+ "pages": [
+ "es/content/components/accordions",
+ "es/content/components/accordion-groups",
+ "es/content/components/callouts",
+ "es/content/components/cards",
+ "es/content/components/card-groups",
+ "es/content/components/code",
+ "es/content/components/code-groups",
+ "es/content/components/frames",
+ "es/content/components/icons",
+ "es/content/components/mermaid-diagrams",
+ "es/content/components/steps",
+ "es/content/components/tabs",
+ "es/content/components/tooltips",
+ "es/content/components/update"
+ ]
+ },
+ {
+ "group": "API Components",
+ "pages": [
+ "es/content/components/params",
+ "es/content/components/responses",
+ "es/content/components/expandables",
+ "es/content/components/sticky-examples"
+ ]
+ }
]
},
{
- "group": "Support",
- "pages": [
- "integrations/support/overview",
- "integrations/support/intercom",
- "integrations/support/front"
+ "dropdown": "Integrations",
+ "icon": "plug",
+ "description": "Connect your providers",
+ "groups": [
+ {
+ "group": "Analytics",
+ "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",
+ "pages": [
+ "es/integrations/sdks/speakeasy",
+ "es/integrations/sdks/stainless"
+ ]
+ },
+ {
+ "group": "Support",
+ "pages": [
+ "es/integrations/support/overview",
+ "es/integrations/support/intercom",
+ "es/integrations/support/front"
+ ]
+ },
+ {
+ "group": "Privacy",
+ "pages": [
+ "es/integrations/privacy/overview",
+ "es/integrations/privacy/osano"
+ ]
+ }
]
},
{
- "group": "Privacy",
- "pages": [
- "integrations/privacy/overview",
- "integrations/privacy/osano"
+ "dropdown": "Changelog",
+ "icon": "list-timeline",
+ "description": "Updates and changes",
+ "groups": [
+ {
+ "group": "Changelog",
+ "pages": [
+ "es/changelog/overview"
+ ]
+ }
]
}
]
- },
- {
- "dropdown": "Changelog",
- "icon": "list-timeline",
- "description": "Updates and changes",
- "groups": [
- {
- "group": "Changelog",
- "pages": ["changelog/overview"]
- }
- ]
}
]
},
- "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",
@@ -373,6 +540,11 @@
}
},
"contextual": {
- "options": ["copy", "view", "chatgpt", "claude"]
+ "options": [
+ "copy",
+ "view",
+ "chatgpt",
+ "claude"
+ ]
}
-}
+}
\ No newline at end of file
diff --git a/es/advanced/dashboard/permissions.mdx b/es/advanced/dashboard/permissions.mdx
new file mode 100644
index 000000000..7c6ecda1e
--- /dev/null
+++ b/es/advanced/dashboard/permissions.mdx
@@ -0,0 +1,16 @@
+---
+title: Editor Permissions
+description: Permita que más miembros de su equipo actualicen sus documentos
+---
+
+El miembro del equipo que creó sus documentos iniciales tendrá acceso de actualización a sus documentos, siempre que envíe a su 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á una advertencia en la verificación de su commit de git.
+
+
+
+
+
+En los detalles de la advertencia de verificación de git, encontrará el enlace para actualizar su plan. También puede actualizar su plan en el [panel de control](https://dashboard.mintlify.com) para permitir que editores ilimitados actualicen su documentación. Una vez que actualice su plan, active una actualización manual o envíe otro cambio para implementar sus actualizaciones.
+
+Aprenda más sobre nuestros precios [aquí](https://mintlify.com/pricing).
diff --git a/es/advanced/dashboard/sso.mdx b/es/advanced/dashboard/sso.mdx
new file mode 100644
index 000000000..58ffe30f5
--- /dev/null
+++ b/es/advanced/dashboard/sso.mdx
@@ -0,0 +1,104 @@
+---
+title: Single Sign-On (SSO)
+description: Personaliza cómo tu equipo puede iniciar sesión en tu panel de administración
+---
+
+Utiliza el inicio de sesión único en tu panel mediante SAML y OIDC. Si utilizas Okta o Google Workspace, tenemos documentación específica para configurar SSO, pero si utilizas otro proveedor, ¡contáctanos!
+
+
+ La funcionalidad SSO está disponible en nuestro plan Enterprise.[Contáctanos](https://mintlify.com/enterprise) para saber más!
+
+
+## Okta
+
+
+
+
+
+ En `Applications`, haz clic para crear una nueva integración de aplicación usando SAML 2.0.
+
+
+
+ Ingresa 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` | Básico | `user.firstName` |
+ | `lastName` | Básico | `user.lastName` |
+
+
+
+ Una vez que la aplicación esté configurada, navega a la pestaña de inicio de sesión y envíanos la URL de metadatos.
+ Habilitaremos la conexión desde nuestro lado usando esta información.
+
+
+
+
+
+
+
+ En `Applications`, haz clic para crear una nueva integración de aplicación usando OIDC.
+ Debes elegir el tipo de aplicación `Web Application`.
+
+
+
+ Selecciona el tipo de concesión de código de autorización e ingresa la URI de redirección proporcionada por Mintlify.
+
+
+
+ Una vez que la aplicación esté configurada, navega a la pestaña General y localiza el ID de cliente y el secreto del cliente.
+ Por favor, proporciónanos estos datos de manera segura, junto con la URL de tu instancia de Okta (por ejemplo, `.okta.com`). Puedes enviar estos datos a través de un servicio como 1Password o SendSafely.
+
+
+
+
+
+## Google Workspace
+
+
+
+
+
+ En `Web and mobile apps`, selecciona `Add custom SAML app` del menú desplegable `Add app`.
+
+
+ 
+
+
+
+
+ Copia la URL de SSO proporcionada, el ID de entidad y el certificado x509 y envíalos al equipo de Mintlify.
+
+
+ 
+
+
+
+
+ En la página de detalles del proveedor de servicios, ingresa 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, ingresa 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, avísanos y habilitaremos SSO para tu cuenta!
+
+
+
+
diff --git a/es/advanced/mcp/generate.mdx b/es/advanced/mcp/generate.mdx
new file mode 100644
index 000000000..36d64e8b7
--- /dev/null
+++ b/es/advanced/mcp/generate.mdx
@@ -0,0 +1,41 @@
+---
+title: Generador MCP
+description: Aprende cómo configurar tu propio Servidor MCP
+---
+
+
+ Esta página está dedicada a configurar tu propio Servidor MCP. Si estás buscando información sobre cómo usar el Servidor MCP de Mintlify, consulta la[Instalación y uso del Servidor MCP de Mintlify](/advanced/mcp/quickstart) página.
+
+
+## Comenzar
+
+Ejecuta `npm i @mintlify/mcp` para instalar el `@mintlify/mcp` CLI.
+
+En el [dashboard](https://dashboard.mintlify.com/products/mcp) ve a `MCP Server`, en esta página alterna para ver tu comando de instalación único. Este es el comando para instalar tu Servidor MCP con el `@mintlify/mcp` CLI.
+
+
+ Asegúrate de activar el acceso OpenAPI para permitir que el servidor MCP acceda a **todos**
+ los endpoints en tu especificación OpenAPI.
+
+
+## Inicie el servidor MCP localmente
+
+
+
+ Ejecute el siguiente comando para instalar el servidor:
+
+ ```bash
+ npx @mintlify/mcp add [your subdomain]
+ ```
+
+
+
+ Si su API requiere un token de autenticación, indique a su cliente final que lo
+ obtenga y lo aplique cuando reciba esta respuesta:`> What is the Authorization
+ (basic token)?` De lo contrario, puede omitir este paso.
+
+
+
+ Ahora puede ejecutar:`bash npm --prefix ~/.mcp/[your subdomain] start `
+
+
diff --git a/es/advanced/mcp/quickstart.mdx b/es/advanced/mcp/quickstart.mdx
new file mode 100644
index 000000000..dd5f3a9b3
--- /dev/null
+++ b/es/advanced/mcp/quickstart.mdx
@@ -0,0 +1,97 @@
+---
+title: Quickstart
+description: Generar un servidor MCP para ayudar a conectar tu producto con LLMs
+---
+
+## Introducción
+
+El Generador MCP es una herramienta CLI que genera un servidor MCP basado en la documentación de tu empresa y la especificación OpenAPI si está disponible. Toma tu documentación y una especificación OpenAPI y genera un servidor MCP que puede ser usado con cualquier cliente MCP. El Generador MCP se entrega a través del[paquete npm](https://www.npmjs.com/package/mcp) y genera un servidor MCP que puede ser usado con cualquier cliente MCP.
+
+Mintlify te permite crear un servidor MCP que permite a las herramientas de IA interactuar con tus documentos en estos escenarios clave:
+
+1. **Preguntas y Respuestas sobre Docs**, similar a nuestro Chat de IA. Esto se habilita automáticamente para tus documentos, no se requiere configuración.
+2. **Consultas de API en tiempo real**, si tienes una especificación OpenAPI, dirígete al`Mintlify Dashboard > Products > MCP Server` y activa el interruptor para habilitar tu especificación OpenAPI.
+
+
+ Al habilitar el interruptor OpenAPI, estás permitiendo que el servidor MCP acceda a
+ **todos** los endpoints en tu especificación OpenAPI.
+
+
+## Instalar el servidor MCP
+
+
+ Esta página está dedicada al Servidor MCP de Mintlify. Si estás buscando información sobre cómo generar tu MCP, por favor consulta la página del[Generador MCP](/advanced/mcp/generate).
+
+
+## Ejemplo de instalación con el servidor MCP de Mintlify
+
+Para usar el servidor MCP de Mintlify necesitarás una[clave API](https://mintlify.com/docs/advanced/rest-api/overview#authentication) de tu cuenta de Mintlify. Si no tienes una, navega a`Settings > API Keys > Chat API Key` y crea una nueva clave.
+
+## Iniciar el servidor MCP localmente
+
+
+
+ Ejecuta el siguiente comando para instalar el servidor:
+
+ ```bash
+ npx @mintlify/mcp add mintlify
+ ```
+
+
+
+ La siguiente respuesta se mostrará después de ejecutar el comando anterior:
+
+ ```
+ > What is the Authorization (basic token)?
+ ```
+
+ Usando tu clave de chat API, copia el token de autenticación y pégalo en la CLI.
+
+
+
+ Ahora puedes ejecutar:
+
+ ```bash
+ npm --prefix ~/.mcp/mintlify start
+ ```
+
+
+
+## Usa tu servidor con Claude
+
+
+ Descarga la[Aplicación de Escritorio de Claude](https://claude.ai/download)
+
+
+Una vez que tengas instalada la Aplicación de Escritorio de Claude, sigue estos pasos:
+
+
+
+
+
+ Agrega lo siguiente al`claude_desktop_config.json`:
+
+ ```json
+ {
+ "mcpServers": {
+ "mintlify": {
+ "command": "npm",
+ "args": [
+ "--prefix",
+ "~/.mcp/mintlify",
+ "start"
+ ]
+ }
+ }
+ }
+ ```
+
+
+
+ Si haces clic en él, deberías ver las Herramientas MCP disponibles en tu servidor.
+
+
+ 
+
+
+
diff --git a/es/advanced/rest-api/chat/create-topic.mdx b/es/advanced/rest-api/chat/create-topic.mdx
new file mode 100644
index 000000000..dc00663e3
--- /dev/null
+++ b/es/advanced/rest-api/chat/create-topic.mdx
@@ -0,0 +1,3 @@
+---
+openapi: POST /chat/topic
+---
diff --git a/es/advanced/rest-api/chat/generate-message.mdx b/es/advanced/rest-api/chat/generate-message.mdx
new file mode 100644
index 000000000..b1cdbbb37
--- /dev/null
+++ b/es/advanced/rest-api/chat/generate-message.mdx
@@ -0,0 +1,3 @@
+---
+openapi: POST /chat/message
+---
diff --git a/es/advanced/rest-api/overview.mdx b/es/advanced/rest-api/overview.mdx
new file mode 100644
index 000000000..ce35a1a8f
--- /dev/null
+++ b/es/advanced/rest-api/overview.mdx
@@ -0,0 +1,36 @@
+---
+title: Descripción General
+---
+
+## Activar Actualizaciones
+
+Puedes aprovechar la API REST para activar programáticamente una actualización cuando lo desees.
+
+
+ Si bien el caso de uso principal será activar actualizaciones, iremos agregando más y más funcionalidades a la API con el tiempo. Házanos saber qué más quieres ver en
+ [nuestra comunidad](https://mintlify.com/community)!
+
+
+## Autenticación
+
+Puedes generar una clave API a través de[el dashboard](https://dashboard.mintlify.com/settings/organization/api-keys). La clave API está asociada con toda la organización y puede usarse en múltiples implementaciones.
+
+
+
+
+
+## Clave API de Administrador
+
+La clave 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](/advanced/rest-api/update/trigger).
+
+## Clave API de Chat
+
+La API de Chat te permite integrar la experiencia de chat con 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 de Chat es un token público que puede ser referenciado en tu código frontend, mientras que la clave API es un token del lado del servidor que debe mantenerse en secreto.
+
+
+Ahora que tienes una clave API, revisa nuestro [ejemplo](https://github.com/mintlify/discovery-api-example) para saber cómo usar la API para el chat con IA. También puedes ver una versión implementada de este ejemplo en [chat.mintlify.com](https://chat.mintlify.com).
diff --git a/es/advanced/rest-api/update/status.mdx b/es/advanced/rest-api/update/status.mdx
new file mode 100644
index 000000000..0bc6efc18
--- /dev/null
+++ b/es/advanced/rest-api/update/status.mdx
@@ -0,0 +1,3 @@
+---
+openapi: GET /project/update-status/{statusId}
+---
diff --git a/es/advanced/rest-api/update/trigger.mdx b/es/advanced/rest-api/update/trigger.mdx
new file mode 100644
index 000000000..8d47fe1e6
--- /dev/null
+++ b/es/advanced/rest-api/update/trigger.mdx
@@ -0,0 +1,3 @@
+---
+openapi: POST /project/update/{projectId}
+---
diff --git a/es/advanced/subpath/cloudflare.mdx b/es/advanced/subpath/cloudflare.mdx
new file mode 100644
index 000000000..5242f4f47
--- /dev/null
+++ b/es/advanced/subpath/cloudflare.mdx
@@ -0,0 +1,75 @@
+---
+title: Cloudflare
+description: Aloja documentación en una subruta /docs usando Cloudflare Workers
+---
+
+## Crear Worker de Cloudflare
+
+Navega a`Workers & Pages > Create application > Create worker`. Deberías ver la siguiente pantalla donde puedes crear un nuevo worker de Cloudflare.
+
+
+
+
+
+
+ Ten en cuenta: Si tu proveedor de DNS es Cloudflare, no deberías usar el proxy para el registro CNAME
+
+
+### Agregar dominio personalizado
+
+Una vez que el worker esté creado, 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 y sin`www.`
+antepuesto al dominio.
+
+
+
+
+
+Si tienes problemas configurando 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 algunas horas).
diff --git a/es/advanced/subpath/route53-cloudfront.mdx b/es/advanced/subpath/route53-cloudfront.mdx
new file mode 100644
index 000000000..f821934c3
--- /dev/null
+++ b/es/advanced/subpath/route53-cloudfront.mdx
@@ -0,0 +1,136 @@
+---
+title: AWS Route 53 y Cloudfront
+sidebarTitle: AWS
+description: Aloja 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
+
+
+ 
+
+
+La configuración restante debe ser la predeterminada. Haz clic en `Create distribution`.
+
+## Add Default Origin
+
+Después de crear la distribución, navega a la pestaña `Origins`.
+
+
+
+Queremos encontrar una URL de staging que refleje 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, [contacta con soporte](mailto:support@mintlify.com) y estaremos encantados de ayudar
+
+
+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 Origin y añádelo como **Origin domain**.
+
+
+ 
+
+
+En este punto, deberías tener dos Origins - uno con `[SUBDOMAIN].mintlify.app` y otro con la URL de staging.
+
+## Configurar Behaviors
+
+Los Behaviors 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 behaviors haciendo clic en el botón `Create behavior`.
+
+### `/docs/*`
+
+El primer behavior debe tener un **Path pattern** de `/docs/*` con **Origin and origin groups** apuntando a la URL `.mintlify.dev` (en nuestro caso `acme.mintlify.dev`)
+
+
+
+Para **Cache policy**, selecciona `CachingOptimized` y crea el behavior.
+
+### `/docs`
+
+El segundo behavior debe ser igual que el primero pero con un **Path pattern** de `/docs` y **Origin and origin groups** apuntando a la misma URL `.mintlify.dev`.
+
+
+
+### `Default (*)`
+
+Por último, vamos a editar el behavior `Default (*)`.
+
+
+ 
+
+
+Vamos a cambiar el **Origin and origin groups** del behavior predeterminado a la URL de staging (en nuestro caso `mintlify-landing-page.vercel.app`).
+
+
+ 
+
+
+Haz clic en `Save changes`.
+
+## Previsualizar Distribución
+
+Ahora puedes probar si tu distribución está configurada correctamente yendo a la pestaña `General` y visitando el **Distribution domain name** URL.
+
+
+ 
+
+
+Todas las páginas deberían dirigirse a tu página principal, pero si agregas `/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 incorporar la funcionalidad de la distribución Cloudfront en tu dominio principal.
+
+
+ Para esta sección, también puedes consultar la guía oficial de AWS sobre [Configuración de Amazon Route 53 para dirigir 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` para tu dominio principal. Haz clic en `Create record`
+
+
+ 
+
+
+Activa `Alias` y luego **Dirigir tráfico a** la `Alias to CloudFront distribution` opción.
+
+
+ 
+
+
+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 000000000..a3d3e799a
--- /dev/null
+++ b/es/advanced/subpath/vercel.mdx
@@ -0,0 +1,30 @@
+---
+title: Vercel
+description: Aloje la 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: [Configuración del Proyecto:
+ Reescrituras](https://vercel.com/docs/projects/project-configuration#rewrites)
+
diff --git a/es/api-playground/mdx/authentication.mdx b/es/api-playground/mdx/authentication.mdx
new file mode 100644
index 000000000..b82ddd0d3
--- /dev/null
+++ b/es/api-playground/mdx/authentication.mdx
@@ -0,0 +1,87 @@
+---
+title: Autenticación
+description: Puedes establecer parámetros de autenticación para permitir que los usuarios utilicen sus propias claves API.
+---
+
+## Habilitando la Autenticación
+
+Puedes agregar un método de autenticación a tu docs.json para habilitarlo en todas las páginas 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 Bearer
+
+
+ ```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 API
+
+
+ ```json docs.json
+ "api": {
+ "mdx": {
+ "auth": {
+ "method": "key",
+ "name": "x-api-key"
+ }
+ }
+ }
+ ```
+
+ ```md Page Metadata
+ ---
+ title: "Your page title"
+ authMethod: "key"
+ ---
+ ```
+
+
+### Ninguna
+
+El método de autenticación "ninguna" es útil para deshabilitar la autenticación en un endpoint 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 000000000..634736c35
--- /dev/null
+++ b/es/api-playground/mdx/configuration.mdx
@@ -0,0 +1,70 @@
+---
+title: MDX Setup
+description: Genera páginas de documentación para tus endpoints de API usando MDX
+---
+
+Mintlify te permite definir tus endpoints de API usando una combinación de`docs.json` configuración, campos de metadatos MDX, y el componente``. A partir de los endpoints definidos, generamos un área de pruebas de API, ejemplos de solicitudes y ejemplos de respuestas.
+
+
+
+ En tu archivo`docs.json`, define tu 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 deseas mostrar un área de pruebas de API, no necesitas incluir tipos de autenticación. Oculta el área de pruebas con el siguiente campo:
+
+ ```json
+ "api": {
+ "playground": {
+ "display": "none"
+ }
+ }
+ ```
+
+ Encuentra una lista completa de configuraciones de API[aquí](/settings/global#param-api).
+
+
+
+ Cada página de endpoint de API debe tener un archivo MDX correspondiente. En la parte superior de cada archivo, define:
+
+ ```md
+ ---
+ title: 'Create new user'
+ api: 'POST https://api.mintlify.com/user'
+ ---
+ ```
+
+ Puedes 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 tienes`server` configurado en[docs.json](/settings/global), puedes usar rutas relativas como`/v1/endpoint`.
+
+
+ También puedes anular el modo de visualización definido globalmente para el área de pruebas 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 `navigation` campo en su `docs.json`. Aprenda más sobre cómo estructurar sus documentos [aquí](/settings/navigation).
+
+
diff --git a/es/api-playground/openapi/advanced-features.mdx b/es/api-playground/openapi/advanced-features.mdx
new file mode 100644
index 000000000..d70c34aac
--- /dev/null
+++ b/es/api-playground/openapi/advanced-features.mdx
@@ -0,0 +1,139 @@
+---
+title: Características Avanzadas
+description: Soporte para características avanzadas de OpenAPI
+---
+
+OpenAPI 3 tiene algunas características avanzadas para describir APIs complejas. Aquí te mostramos cómo 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 igual. Hemos encontrado que cuando la gente usa `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 [OpenAPI's reusable `components`](https://swagger.io/docs/specification/components/).
+
+```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 `title` campo. 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 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 OpenAPI. Puedes definir tus ejemplos de código usando la `x-codeSamples` extensión. 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 });
+```
diff --git a/es/api-playground/openapi/setup.mdx b/es/api-playground/openapi/setup.mdx
new file mode 100644
index 000000000..314d3bb21
--- /dev/null
+++ b/es/api-playground/openapi/setup.mdx
@@ -0,0 +1,147 @@
+---
+title: Configuración de OpenAPI
+description: Referencia endpoints de OpenAPI en tus 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/mintlify) y ejecuta este comando: `mintlify openapi-check `
+
+## Auto-generar 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"
+ }
+ ]
+}
+```
+
+
+
+**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 el **api-reference** carpeta del repositorio de documentación.
+
+Al usar esta opción, los metadatos para las páginas generadas tendrán los siguientes valores predeterminados:
+
+* `title`: El `summary` campo 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 `description` campo de la operación OpenAPI, si está presente.
+
+* `version`: El `version` valor del ancla o pestaña, si está presente.
+
+Hay algunos escenarios en los que el comportamiento predeterminado 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.
+
+## Crear archivos MDX para páginas de API
+
+Si deseas 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í hay [un ejemplo de página MDX OpenAPI](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 `openapi` campo.
+
+
+
+Al usar la referencia OpenAPI, el nombre, descripción, parámetros, respuestas y el área de pruebas de API se generarán automáticamente desde el 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 tienes solo un archivo OpenAPI - detectará automáticamente tu archivo OpenAPI.
+
+Si deseas hacer referencia a un archivo OpenAPI externo usando este método, proporciona la URL del archivo en el docs.json. Ver [aquí](https://mintlify.com/docs/settings/global#param-source-4) para el formato correcto.
+
+
+ ```md Example
+ ---
+ title: "Get users"
+ openapi: "/path/to/openapi-1.json GET /users"
+ ---
+ ```
+
+ ```md Format
+ ---
+ title: "title of the page"
+ openapi: openapi-file-path method path
+ ---
+ ```
+
+
+
+ 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, reemplaza el método (es decir, "POST") con "webhook" (no distingue 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 tus endpoints OpenAPI.
+
+Cada página generada corresponderá a una operación OpenAPI bajo la sección "paths" del esquema OpenAPI. Si tu documento OpenAPI es 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
+```
+
+Agrega la `-o` bandera para especificar una carpeta donde colocar los archivos. Si no se especifica una carpeta, los archivos se colocarán en el directorio de trabajo.
+
+```bash
+npx @mintlify/scraping@latest openapi-file -o api-reference
+```
+
+Aprende 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/global#structure) que contienen tus archivos MDX OpenAPI. Puedes agregar estas entradas a tu Navegación existente o reordenar y agregar los archivos a tu navegación manualmente.
+
+
+ Si tu documento OpenAPI no es válido, los archivos no se autogenerarán.
+
+
+## Crear archivos MDX para esquemas OpenAPI
+
+Mintlify también permite crear páginas individuales para cualquier esquema OpenAPI definido en el campo `components.schemas` del documento OpenAPI:
+
+
+ ```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 000000000..75a05acc0
--- /dev/null
+++ b/es/api-playground/openapi/writing-openapi.mdx
@@ -0,0 +1,33 @@
+---
+title: Writing 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 y construir documentos OpenAPI. Aquí están nuestras favoritas:
+
+* [Guía OpenAPI de Swagger](https://swagger.io/docs/specification/about/) para familiarizarte con la sintaxis de OpenAPI
+* [Especificación OpenAPI v3.1.0](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
+* [Validador de Swagger & OpenAPI](https://editor.swagger.io/) para depurar tu documento OpenAPI
+* [Editor de Swagger](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 [la publicación del blog de OpenAPI](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, diferentes endpoints de API se especifican por sus rutas, como `/users/{id}`, o simplemente `/`. Para especificar la URL base a la que se deben agregar 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 usará 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 usará 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 autenticación
+
+Casi todas las APIs requieren algún método de autenticación. OpenAPI proporciona el `securitySchemes` campo para definir los métodos de autenticación utilizados en toda tu API, con 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 usa el `security` campo. 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 API Playground agregará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 000000000..1a13f5432
--- /dev/null
+++ b/es/api-playground/overview.mdx
@@ -0,0 +1,13 @@
+---
+title: Playground
+description: Permite a los usuarios interactuar con tu API
+openapi: POST /project/update/{projectId}
+hideApiMarker: true
+icon: play
+---
+
+El API playground es un entorno interactivo para realizar peticiones y previsualizar un endpoint de API.
+
+
+ La autogeneración de páginas de API con OpenAPI generará automáticamente el API playground. Lee más sobre el uso de OpenAPI[aquí](/api-playground/openapi).
+
diff --git a/es/api-playground/troubleshooting.mdx b/es/api-playground/troubleshooting.mdx
new file mode 100644
index 000000000..c09d6bc71
--- /dev/null
+++ b/es/api-playground/troubleshooting.mdx
@@ -0,0 +1,72 @@
+---
+title: Solución de problemas
+description: Problemas comunes con Referencias de API
+icon: triangle-exclamation
+---
+
+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 encuentran:
+
+
+
+ En este escenario, es probable que Mintlify no pueda encontrar tu documento OpenAPI,
+ o que tu documento OpenAPI no sea válido.
+
+ Ejecutar `mintlify dev` localmente debería revelar algunos de estos problemas.
+
+ Para verificar que tu documento OpenAPI pasará la validación:
+
+ 1. Visita [este validador](https://editor.swagger.io/)
+ 2. Cambia a la pestaña "Validate text"
+ 3. Pega tu documento OpenAPI
+ 4. Haz clic en "Validate it!"
+
+ Si el cuadro de texto que aparece abajo tiene un borde verde, tu documento ha pasado la validación.
+ Este es el paquete de validación exacto que Mintlify usa para validar documentos OpenAPI, así que si tu documento
+ pasa la validación aquí, hay una gran probabilidad de que el problema esté en otro lugar.
+
+ Además, Mintlify no es compatible con OpenAPI 2.0. Si tu documento usa esta versión de la especificación,
+ podrías encontrar este problema. Puedes convertir tu documento en [editor.swagger.io](https://editor.swagger.io/) (bajo Edit > Convert to OpenAPI 3):
+
+
+
+
+
+
+
+ Esto generalmente es causado por un error de escritura en el`openapi` campo en los metadatos de la página. Asegúrate 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 pueden salir mal:
+
+ ```md get-user.mdx
+ ---
+ openapi: "GET /users/{id}/"
+ ---
+ ```
+
+ ```yaml openapi.yaml
+ paths:
+ "/users/{id}":
+ get: ...
+ ```
+
+ Observa que la ruta en el`openapi` campo 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ás especificando un documento OpenAPI particular en el`openapi` campo, asegúrate de que el nombre del archivo sea correcto. Por ejemplo, si tienes dos documentos OpenAPI`openapi/v1.json` y `openapi/v2.json`, tus metadatos podrían verse así:
+
+ ```md api-reference/v1/users/get-user.mdx
+ ---
+ openapi: "v1 GET /users/{id}"
+ ---
+ ```
+
+
+
+ Si tienes un dominio personalizado configurado, esto podría ser un problema con tu proxy inverso. Por defecto, las solicitudes realizadas a través del API Playground comienzan con una solicitud`POST` al
+ `/api/request` ruta en el sitio de documentación. Si tu proxy inverso está configurado para permitir solo`GET`
+ solicitudes, entonces todas estas solicitudes fallarán. Para solucionarlo, configura tu proxy inverso para permitir`POST` solicitudes a la`/api/request` ruta.
+
+ Alternativamente, si tu proxy inverso te impide aceptar`POST` solicitudes, puedes configurar Mintlify para enviar solicitudes directamente a tu backend con la`api.playground.disableProxy`
+ configuración en el`docs.json`, como se describe[aquí](/settings/global#api-configurations). Esto probablemente requerirá que configures CORS en tu servidor, ya que estas solicitudes ahora vendrán directamente desde los navegadores de tus usuarios.
+
+
diff --git a/es/changelog/overview.mdx b/es/changelog/overview.mdx
new file mode 100644
index 000000000..bed706276
--- /dev/null
+++ b/es/changelog/overview.mdx
@@ -0,0 +1,393 @@
+---
+title: Actualizaciones del Producto
+description: Nuevas actualizaciones y mejoras
+mode: center
+---
+
+
+ ## 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 desde tu especificación OpenAPI con un solo clic.
+ Consulta la [documentación sobre cómo empezar con MCP.](/advanced/mcp/quickstart.mdx)
+
+ ## mcpt: un registro para servidores MCP
+
+ Descubre más de 105 servidores MCP en [mcpt](https://www.mcpt.com). Este directorio incluye tanto servidores oficiales como los de nuestra propia base de clientes.
+
+ ## Mejoras
+
+ * Etiqueta las 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 implementación directamente en la configuración del panel
+
+ ## Corrección de errores
+
+ * Imágenes OG corregidas
+ * Corregida la inconsistencia de estilo de iconos para anclajes sin contenedor
+ * Mejoras en los detalles de estilo del borde del panel 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 para `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 más información sobre los cambios, [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 mintlify@latest -g
+ ```
+
+ 1. En tu repositorio de documentación, ejecuta
+
+ ```
+ mintlify upgrade
+ ```
+
+ 1. Elimina tu archivo mint.json antiguo y sube tus cambios
+
+ ## Verificaciones CI
+
+ Revisa automáticamente tu documentación 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 de tu documentación. Configura a través de tu [archivo docs.json](/settings/global).
+
+ Ahora disponible:
+
+ * 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/divisions#dropdowns): Organiza la navegación con un menú desplegable, además de pestañas y anclajes.
+ * [Corrector de sintaxis AI](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 con página de chat dedicada y prompts preestablecidos
+ * Mejoras de estabilidad, por ejemplo, corrección de errores al editar el archivo incorrecto o ningún archivo
+ * Conocimiento más robusto para agregar y editar componentes
+ * Mejora en la edición 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 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 agregar 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
+
+
+ 
+
+
+ Haga que los documentos sean privados configurando la autenticación a través de JWT, OAuth o una contraseña universal. Con esta privacidad, puede crear una base de conocimiento interna o evitar que los competidores vean sus documentos.
+
+
+
+ ## Asistente de IA
+
+
+ 
+
+
+ Ahora puede pedirle a la IA que realice cambios en sus documentos, con el contexto de toda la documentación existente. Escriba un mensaje 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. Consulte nuestra [documentación sobre GitLab](/settings/gitlab) para comenzar.
+
+ ## Editor Web
+
+
+ 
+
+
+ Hemos renovado nuestro editor web para que ahora pueda actualizar documentos con una experiencia completamente WYSIWYG, mientras se sincroniza con markdown.
+
+ Consulte nuestra [documentación sobre cómo comenzar con el Editor Web](/web-editor).
+
+ ## Soporte para /llms.txt
+
+
+ 
+
+
+ Todas las instancias de documentación ahora se alojan automáticamente en /llms.txt y /llms-full.txt para que los LLMs puedan ingerir fácilmente su documentación. Para más información, lea la [documentación sobre el nuevo estándar llms.txt.](https://llmstxt.org)
+
+ ## Localización
+
+ Ahora puede localizar sus documentos, lo que funciona de manera similar al versionado. Agregue 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
+
+ * Devolver resultados de chat y búsqueda basados en la versión actual que el usuario está leyendo
+ * Autenticar usuarios con OAuth, además de tokens JWT o Shared Session.
+
+
+
+ ## Registros de Cambios
+
+ Lanzamos un nuevo [Componente de Actualización](/content/components/update) para facilitar la visualización y el reporte de actualizaciones (como esta) a sus usuarios.
+
+
+ 
+
+
+ ## Resaltado de Líneas de Código
+
+ Ahora puede resaltar líneas de código en sus documentos para enfatizar y llamar la atención sobre partes importantes agregando un comentario especial después del identificador de lenguaje. Use llaves `{}` y especifique 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 agregando lo siguiente a su `mint.json`:
+
+ ```json
+ "codeBlock": {
+ "mode": "auto"
+ }
+ ```
+
+ ## Pie de Página Avanzado
+
+
+ 
+
+
+ Ahora puede agregar más enlaces al pie de página estándar. Esta actualización proporciona más consistencia entre las páginas de inicio y la documentación, o una mayor personalización si desea 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 Chat de IA
+
+ Ahora puede personalizar las indicaciones para el chat de IA. Por favor, contacte con [soporte](mailto:sales@mintlify.com) si desea personalizar las indicaciones.
+
+ ## Mejoras en el Panel de Control
+
+ * Se agregó la capacidad de cambiar el dominio personalizado a /docs directamente a través de la configuración del panel.
+ * Se consolidaron las páginas de inicio de sesión y registro para reducir la fricción y la confusión.
+ * Se implementó el flujo de inicio de sesión de descubrimiento para que los usuarios que son miembros de múltiples organizaciones ahora puedan cambiar entre ellas.
+ * Se agregó inicio de sesión con OAuth de Google
+ * Se agregó la capacidad de añadir nuevo despliegue a través de la configuración del panel.
+
+ ## Corrección 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 puede usar las teclas de flecha arriba y abajo para navegar por los resultados.
+ * No permitir que los motores de búsqueda rastreen páginas protegidas por autenticación de usuario.
+ * Revalidar la caché cuando se elimina una organización.
+ * Ahora usamos el analizador Scalar OpenAPI para analizar definiciones OpenAPI, lo que mejora el rendimiento, corrige problemas de análisis y muestra mejores mensajes de error.
+ * Las descripciones de nivel superior ahora son compatibles en las páginas de referencia de API autogeneradas a partir de definiciones OpenAPI.
+ * Agregar soporte de estilo en línea para iconos
+ * Se corrigió la aparición emergente de CSS personalizado en la documentación.
+ * Mostrar correctamente el estilo de código en línea junto con los enlaces.
+ * Mantener la posición de desplazamiento cuando haces clic en el botón de retroceso en el navegador.
+
+
+
+ ## Fuentes Personalizadas
+
+
+ 
+
+
+ Personaliza la fuente de tu documentación con tu propia fuente alojada en un CDN o eligiendo entre las fuentes de Google para que coincida con tu marca.
+
+ ## Imágenes en componentes Card
+
+ Agregar una`img` propiedad a una tarjeta para mostrar una imagen en la parte superior de la tarjeta. Aprende más sobre esto [aquí](/content/components/cards#image-card).
+
+ ## Mejoras en la Velocidad de Actualización
+
+
+ 
+
+
+ Para proyectos grandes (\~3,000 archivos), el paso de descarga para actualizaciones de documentación 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 el diseño móvil y de escritorio de nuestra documentación para que sea más amigable con SEO - incluyendo la adición de etiquetas aria apropiadas a elementos de la barra de navegación y alternadores.
+
+ ## Mejoras en el Dashboard
+
+ * Migración del enrutador de aplicaciones en el dashboard.
+ * Las analíticas de búsqueda ahora están disponibles en el dashboard.
+ * Se ha agregado la funcionalidad de eliminar una organización al dashboard.
+ * Se implementó la interfaz de conexión con GitLab.
+ * Corrección de datos analíticos incorrectos.
+ * Los complementos ahora se pueden comprar directamente a través del dashboard.
+
+ ## Corrección 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 es `sidenav`.
+ * Corrección del posicionamiento relativo del widget de IA.
+
+ ## Más
+
+ * **Solución de problemas para páginas API**: Las páginas API pueden ser complicadas, así que hemos listado problemas comunes para ayudarte a resolverlos rápidamente —[Leer la documentación](/api-playground/troubleshooting)
+
+
+
+ ## Páginas de Referencia OpenAPI
+
+ * Los endpoints definidos por OpenAPI que son complejos y recursivos son ahora 98% más pequeños.
+ * Ahora mostramos[additionalProperties](https://swagger.io/docs/specification/data-models/dictionaries/)
+ en páginas OpenAPI.
+
+ ## Carga de Archivos en API Playground
+
+ Por defecto, las solicitudes de API playground son proxy de Mintlify. Ahora puedes usar`disableProxy` para deshabilitar este comportamiento y soportar tipos de solicitudes como cargas de archivos.
+
+ * [Aprende más sobre configuraciones API](/settings/global#api-configurations)
+
+ ## Mejoras de SEO móvil
+
+ Hemos corregido el diseño móvil de nuestra documentación para que sea más amigable con SEO - incluyendo la adición de etiquetas aria apropiadas a los elementos.
+
+ ## Formulario de Soporte
+
+ Hemos agregado un formulario de soporte más detallado al dashboard de Mintlify. Ahora puedes enviar un formulario para contactarnos.
+
+ ## Corrección de Errores
+
+ * Se corrigió un error en la funcionalidad de integración con Segment.
+ * Ahora mostramos mensajes de error más específicos 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, introducimos Mintlify Widget, una extensión de tu documentación para responder las preguntas de tus usuarios cuando y donde las hagan. Puedes agregar este chatbot impulsado por IA a cualquier página web: tu página de inicio, dentro de tu producto o en tus páginas de documentación existentes.
+
+ * [Leer el anuncio del blog](https://mintlify.com/blog/widget)
+
+ ## Plan Pro
+
+ También actualizamos nuestros planes de precios para mejor personalización y escala.
+
+ * [Leer el anuncio del blog](https://mintlify.com/blog/pro-plan)
+
+ ## Sincronización de Ejemplos de Código en API Playground
+
+ Cuando navegas por la documentación de API, el ejemplo de código seleccionado ahora se sincroniza a través de tus páginas.
+
+ ## Insights
+
+ Actualmente en beta, esta función resume preguntas y patrones comunes de usuarios en informes fáciles de digerir con sugerencias impulsadas por IA sobre cómo mejorar tu producto.
+
+
+
+ ## Destacados de la Semana de Lanzamiento
+
+ * Temas: Personaliza tu estilo con temas preconfigurados. Solo agrega el tema Quill, Prism o Venus a tu`mint.json` archivo y actualizará el estilo de tu documentación.
+ * Search V2: consulta directamente las descripciones y títulos de endpoints de OpenAPI para acceder a las páginas de Referencia de API, elimina las páginas ocultas de la búsqueda y disfruta de nuestra interfaz de búsqueda actualizada.
+ * Ramificación en Web Editor: crea ramas en nuestro editor web sin necesidad de un IDE.
+ * Personalización de Usuario: autentica usuarios con Shared Session o JWT para que puedas mostrarles contenido personalizado, como prellenado de claves API o mostrar contenido específico para clientes.
+ * Mejoras en la Automatización de OpenAPI: para auto-poblar páginas de API Playground, puedes agregar un `openapi` campo a un objeto en los arrays de tabs o anchors en el mint.json.
+
+
+
+ ## Okta SSO
+
+ Ahora soportamos inicio de sesión a través de Okta SAML y OIDC.
+
+ ## Mintlify REST API
+
+ Activa actualizaciones de tu documentación programáticamente.
+
+
+
+ ## Custom mode
+
+ Agrega una configuración a los metadatos para eliminar todos los elementos excepto la barra superior.
+ Casos de uso ejemplo:
+
+ * Crea una configuración de página de inicio global personalizada con componentes personalizados
+ * Agrega videos o galerías de imágenes a pantalla completa
+ * Incrusta elementos demo de iFrame personalizados para agregar interactividad a tus documentos
+
+ Revisa nuestra [documentación de Custom Mode](/page#custom-mode).
+
+
+
+ ## Mintlify MDX for VSCode
+
+ Llama fragmentos de nuestros componentes y avisos preconstruidos sin salir de VSCode. [Instala la extensión aquí](https://marketplace.visualstudio.com/items?itemName=mintlify.mintlify-snippets).
+
+
+
+ ## Mejoras de Calidad
+
+ * Mejoras en el Dashboard: ver registros de actualización para ver qué ha cambiado y el estado de una actualización, alternar entre proyectos de Mintlify para gestionar despliegues
+ * Versionado con pestañas totalmente soportado
+ * Redirecciones con comodines ahora soportadas
+ * Detección de Errores CLI: ahora mostramos la posición del frontmatter inválido cuando hay problemas de análisis durante el desarrollo local
+
+
+
+ ## Destacados de la Semana de Lanzamiento
+
+ * Despliegues de Vista Previa: Cuando creas un pull request, generaremos un enlace único que muestra una vista previa en vivo de cómo se verán tus documentos en producción. Puedes compartir este enlace con compañeros de equipo.
+ * Snippets V2: Ahora soportamos componentes completamente reutilizables y variables para snippets.
+ * Motor MDX de código abierto: Hemos expuesto dos APIs—getCompiledMdx y MDXComponent—para que puedas acceder al markdown de Mintlify y resaltado de sintaxis de código. [Las contribuciones al proyecto](https://github.com/mintlify/mdx) son bienvenidas.
+ * Insights de Chat AI: Segmenta el historial de chat por fecha y aumenta la cuota de Chat AI desde el dashboard, y ve con qué frecuencia aparece una consulta específica.
+
diff --git a/es/code.mdx b/es/code.mdx
new file mode 100644
index 000000000..25539276b
--- /dev/null
+++ b/es/code.mdx
@@ -0,0 +1,39 @@
+---
+title: Code Blocks
+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 siguiendo 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!");
+ }
+}
+```
+````
+
+Visita la [página de Code Block](/content/components/code) para documentación más detallada.
diff --git a/es/content/components/accordion-groups.mdx b/es/content/components/accordion-groups.mdx
new file mode 100644
index 000000000..fd066d8cf
--- /dev/null
+++ b/es/content/components/accordion-groups.mdx
@@ -0,0 +1,58 @@
+---
+title: Grupos de Acordeón
+description: Agrupa múltiples acordeones en una sola visualización.
+icon: table-rows
+---
+
+Simplemente agrega``alrededor de tus existentes``componentes.
+
+
+
+ Puedes poner otros componentes dentro de los Acordeones.
+
+ ```java HelloWorld.java
+ class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+
+ Consulta la[Acordeón](/content/components/accordions)documentación para todas las propiedades soportadas.
+
+
+
+ Consulta la[Acordeón](/content/components/accordions)documentación para todas las propiedades soportadas.
+
+
+
+
+ ````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](/content/components/accordions) docs for all the supported props.
+
+
+
+ Check out the [Accordion](/content/components/accordions) docs for all the supported props.
+
+
+ ````
+
+
+`AccordionGroup`no tiene ninguna propiedad.
diff --git a/es/content/components/accordions.mdx b/es/content/components/accordions.mdx
new file mode 100644
index 000000000..c4351d094
--- /dev/null
+++ b/es/content/components/accordions.mdx
@@ -0,0 +1,42 @@
+---
+title: Accordions
+description: Un componente desplegable para alternar contenido
+icon: square-caret-down
+---
+
+
+ Puede poner cualquier contenido aquí. Consulte
+ [AccordionGroup](/content/components/accordion-groups) si desea agrupar
+ múltiples Accordions en una sola visualización.
+
+
+
+ ```jsx Accordion Example
+
+ You can put any content in here.
+
+ ```
+
+
+## Props
+
+
+ Título en la vista previa del Accordion.
+
+
+
+ Detalle debajo del título en la vista previa del Accordion.
+
+
+
+ Si el Accordion está abierto por defecto.
+
+
+
+ Un [Font Awesome icon](https://fontawesome.com/icons), [Lucide icon](https://lucide.dev/icons), o código SVG
+
+
+
+ Uno de "regular", "solid", "light", "thin", "sharp-solid", "duotone", o
+ "brands"
+
diff --git a/es/content/components/callouts.mdx b/es/content/components/callouts.mdx
new file mode 100644
index 000000000..6c0c06638
--- /dev/null
+++ b/es/content/components/callouts.mdx
@@ -0,0 +1,45 @@
+---
+title: Callout Boxes
+description: Use los callouts para agregar contexto llamativo a su contenido
+icon: circle-exclamation
+---
+
+### Callouts de Nota
+
+Esto agrega una nota en el contenido
+
+```jsx
+This adds a note in the content
+```
+
+### Callouts de Advertencia
+
+Esto levanta una advertencia para tener cuidado
+
+```jsx
+This raises a warning to watch out for
+```
+
+### Callouts de Información
+
+Esto llama la atención sobre información importante
+
+```jsx
+This draws attention to important information
+```
+
+### Callouts de Consejo
+
+Esto sugiere un consejo útil
+
+```jsx
+This suggests a helpful tip
+```
+
+### Callouts de Verificación
+
+Esto nos trae un estado verificado
+
+```jsx
+This brings us a checked status
+```
diff --git a/es/content/components/card-groups.mdx b/es/content/components/card-groups.mdx
new file mode 100644
index 000000000..1aa7955b3
--- /dev/null
+++ b/es/content/components/card-groups.mdx
@@ -0,0 +1,50 @@
+---
+title: Grupos de Tarjetas
+description: Muestra tarjetas lado a lado en formato de cuadrícula
+icon: rectangles-mixed
+---
+
+El`CardGroup`componente te permite agrupar múltiples`Card`componentes juntos. Se usa más comúnmente para poner múltiples tarjetas en la misma columna.
+
+
+
+ Nadie ama el dolor por el dolor mismo ni lo busca por placer
+
+
+
+ El dolor es dolor, el amor es amor, el dolor se sienta aquí
+
+
+
+ Para llegar al mínimo, ¿quién de nosotros realiza ejercicio físico laborioso?
+
+
+
+ Excepto para obtener alguna ventaja de ello
+
+
+
+
+ ```jsx Card Group Example
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
+
+
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+
+
+ Excepteur sint occaecat cupidatat non proident
+
+
+ ```
+
+
+## Propiedades
+
+
+ El número de columnas por fila
+
diff --git a/es/content/components/cards.mdx b/es/content/components/cards.mdx
new file mode 100644
index 000000000..54f89bbe8
--- /dev/null
+++ b/es/content/components/cards.mdx
@@ -0,0 +1,71 @@
+---
+title: Cards
+description: Resalta puntos principales o enlaces con iconos personalizables
+icon: rectangle
+---
+
+
+ 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 Grupo de Tarjetas.
+
+
+
+ ```jsx Card Example
+
+ This is how you use a card with an icon and a link. Clicking on this card
+ brings you to the Card Group page.
+
+ ```
+
+ ```jsx Image Card Example
+
+ Here is an example of a card with an image
+
+ ```
+
+
+### Tarjeta Horizontal
+
+Agrega una `horizontal` propiedad a una tarjeta para hacerla horizontal.
+
+
+ Aquí hay un ejemplo de una tarjeta horizontal
+
+
+### Tarjeta con Imagen
+
+Agrega una `img` propiedad a una tarjeta para mostrar una imagen en la parte superior de la tarjeta.
+
+
+ Aquí hay un ejemplo de una tarjeta con una imagen
+
+
+## Propiedades
+
+
+ El título de la tarjeta
+
+
+
+ Un [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 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
+
diff --git a/es/content/components/code-groups.mdx b/es/content/components/code-groups.mdx
new file mode 100644
index 000000000..ceda54a97
--- /dev/null
+++ b/es/content/components/code-groups.mdx
@@ -0,0 +1,51 @@
+---
+title: Code Groups
+description: El componente CodeGroup te permite combinar bloques de código en una visualización separada por pestañas
+icon: rectangle-code
+---
+
+Necesitarás hacer [Code Blocks](/content/components/code) luego agregar el `` componente alrededor de ellos. Cada Code Block debe tener un nombre de archivo porque usamos los nombres para los botones de las pestañas.
+
+Mira abajo 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/content/components/code.mdx b/es/content/components/code.mdx
new file mode 100644
index 000000000..ff0795b70
--- /dev/null
+++ b/es/content/components/code.mdx
@@ -0,0 +1,199 @@
+---
+title: Code Blocks
+description: Mostrar código con resaltado de sintaxis opcional
+icon: code
+---
+
+
+ ````md Code Block Example
+ ```javascript Code Block Example
+ const hello = "world";
+ ```
+ ````
+
+
+## Bloque de Código Básico
+
+Use [bloques de código cercados](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) encerrando el código entre tres comillas invertidas.
+
+```
+helloWorld();
+```
+
+````md
+```
+helloWorld();
+```
+````
+
+## Resaltado de Sintaxis
+
+Coloque el nombre de su 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) lista 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
+
+Agregue un título después del lenguaje de programación para establecer el nombre de su 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
+
+Resalte líneas específicas en sus bloques de código agregando un comentario especial después del identificador del lenguaje. Use llaves`{}` y especifique 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 tiene un bloque de código largo y`[expandable]` después de su título para hacerlo cerrar y expandir.
+
+```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();
+```
+````
+
+## Grupos de Código
+
+¿Quiere mostrar múltiples ejemplos de código en una caja de código? Consulte la documentación de Grupos de Código:
+
+
+ Lea la referencia para el componente de Grupo de Código
+
diff --git a/es/content/components/expandables.mdx b/es/content/components/expandables.mdx
new file mode 100644
index 000000000..878669556
--- /dev/null
+++ b/es/content/components/expandables.mdx
@@ -0,0 +1,43 @@
+---
+title: Expandables
+description: Alternar para mostrar propiedades anidadas.
+icon: caret-down
+---
+
+
+
+
+ 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".
+
+
+
+ Establecer como verdadero para mostrar el componente abierto cuando la página carga.
+
diff --git a/es/content/components/frames.mdx b/es/content/components/frames.mdx
new file mode 100644
index 000000000..fd7065903
--- /dev/null
+++ b/es/content/components/frames.mdx
@@ -0,0 +1,39 @@
+---
+title: Frames
+description: Use el componente Frame para envolver imágenes u otros componentes en un contenedor.
+icon: frame
+---
+
+Los Frames son muy útiles si desea centrar una imagen.
+
+
+
+
+
+## Subtítulos
+
+Puede agregar contexto adicional a una imagen usando el `caption` prop opcional.
+
+
+
+
+
+## Props
+
+
+ Texto de subtítulo opcional para mostrar centrado debajo de su componente.
+
+
+
+ ```jsx Frame
+
+
+
+ ```
+
+ ```jsx Frame with Captions
+
+
+
+ ```
+
diff --git a/es/content/components/icons.mdx b/es/content/components/icons.mdx
new file mode 100644
index 000000000..481c50c3d
--- /dev/null
+++ b/es/content/components/icons.mdx
@@ -0,0 +1,42 @@
+---
+title: Icons
+description: Use [Font Awesome](https://fontawesome.com/icons) or
+ [Lucide](https://lucide.dev/icons) icons anywhere in the doc
+icon: icons
+---
+
+
+
+
+ ```jsx Icon Example
+
+ ```
+
+
+## Íconos en línea
+
+El ícono 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) ícono
+
+
+
+ Uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`
+
+
+
+ El color del ícono como código hexadecimal (ej., `#FF5733`)
+
+
+
+ El tamaño del ícono en píxeles
+
diff --git a/es/content/components/mermaid-diagrams.mdx b/es/content/components/mermaid-diagrams.mdx
new file mode 100644
index 000000000..e2de1bb1b
--- /dev/null
+++ b/es/content/components/mermaid-diagrams.mdx
@@ -0,0 +1,71 @@
+---
+title: Diagramas Mermaid
+description: Muestra diagramas usando Mermaid
+icon: diagram-project
+---
+
+
+ ````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
+```
+
+Puedes crear lo siguiente usando diagramas Mermaid:
+
+* Diagrama de flujo
+* Diagrama de secuencia
+* Diagrama de clases
+* Diagrama de estado
+* Diagrama de relación de entidades
+* Viaje del usuario
+* y más
+
+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/content/components/params.mdx b/es/content/components/params.mdx
new file mode 100644
index 000000000..f23dbe032
--- /dev/null
+++ b/es/content/components/params.mdx
@@ -0,0 +1,69 @@
+---
+title: Campos de Parámetros
+description: Configure parámetros de ruta, consulta y cuerpo
+icon: text-size
+---
+
+`ParamField` componentes ayudan a definir los parámetros para sus APIs o SDKs. Agregar un ParamField automáticamente agregará un [API Playground](/api-playground/overview).
+
+
+ Un ejemplo de un campo de parámetro
+
+
+
+ ```jsx Path Example
+
+ An example of a parameter field
+
+ ```
+
+ ```jsx Query Example
+
+ The filtering command used to sort through the users
+
+ ```
+
+ ```jsx Body Example
+
+ The age of the user. Cannot be less than 0
+
+ ```
+
+
+## Props
+
+
+ Si es un parámetro de consulta, ruta, cuerpo o encabezado seguido del nombre
+
+
+
+ Tipo esperado del valor del parámetro
+
+ Soporta `number`, `string`, `bool`, `object`.
+
+ Los arrays pueden definirse usando el sufijo `[]`. Por ejemplo `string[]`.
+
+
+
+ Indica si el parámetro es requerido
+
+
+
+ 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)
+
diff --git a/es/content/components/responses.mdx b/es/content/components/responses.mdx
new file mode 100644
index 000000000..a3404c5d4
--- /dev/null
+++ b/es/content/components/responses.mdx
@@ -0,0 +1,37 @@
+---
+title: Response Fields
+description: Mostrar valores de respuesta de API
+icon: message
+---
+
+El componente `` está diseñado para definir los valores de retorno de una API. Muchos documentos también usan `` en páginas cuando necesita listar los tipos de algo.
+
+
+ Un ejemplo de campo de respuesta
+
+
+
+ ```jsx ResponseField Example
+
+ A response field example
+
+ ```
+
+
+## Props
+
+
+ El nombre del valor de respuesta.
+
+
+
+ Tipo esperado del valor de respuesta
+
+
+
+ El valor predeterminado.
+
+
+
+ Mostrar "required" junto al nombre del campo.
+
diff --git a/es/content/components/steps.mdx b/es/content/components/steps.mdx
new file mode 100644
index 000000000..72e10c45a
--- /dev/null
+++ b/es/content/components/steps.mdx
@@ -0,0 +1,73 @@
+---
+title: Steps
+description: Secuencia contenido usando el componente Steps
+icon: arrow-progress
+---
+
+Los Steps son la mejor manera de mostrar una serie de acciones o eventos a tus usuarios. Puedes agregar 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.
+
+
+ ```
+
+
+## Props 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 [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 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/content/components/sticky-examples.mdx b/es/content/components/sticky-examples.mdx
new file mode 100644
index 000000000..0222abc31
--- /dev/null
+++ b/es/content/components/sticky-examples.mdx
@@ -0,0 +1,44 @@
+---
+title: Sidebar Code Examples
+description: Mostrar bloques de código en la parte superior derecha de la página en dispositivos de escritorio
+icon: sidebar-flip
+---
+
+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 pruebas de API.
+
+`` y `` se muestran como bloques de código regulares en móvil.
+
+## Ejemplo de Solicitud
+
+El `` componente funciona similar a [CodeGroup](/content/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 se mostrará debajo de él.
+
+
+ ````md ResponseExample Example
+
+
+ ```json Response
+ { "status": "success" }
+ ```
+
+
+ ````
+
diff --git a/es/content/components/tabs.mdx b/es/content/components/tabs.mdx
new file mode 100644
index 000000000..3388febdd
--- /dev/null
+++ b/es/content/components/tabs.mdx
@@ -0,0 +1,43 @@
+---
+title: Tabs
+description: Alterna contenido usando el componente Tabs
+icon: window-restore
+---
+
+Puedes agregar cualquier número de pestañas.
+
+
+
+ ☝️ Bienvenido al contenido que solo puedes ver dentro de la primera pestaña.
+
+
+
+ ✌️ 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.
+
+
+ ✌️ Here's content that's only inside the second Tab.
+
+
+ 💪 Here's content that's only inside the third Tab.
+
+
+ ```
+
+
+## Propiedades de Tab
+
+
+ El título de la pestaña. Los títulos cortos son más fáciles de navegar.
+
diff --git a/es/content/components/tooltips.mdx b/es/content/components/tooltips.mdx
new file mode 100644
index 000000000..af9c0b351
--- /dev/null
+++ b/es/content/components/tooltips.mdx
@@ -0,0 +1,13 @@
+---
+title: Tooltips
+description: Muestra una definición cuando pasas el cursor sobre el texto.
+icon: message-lines
+---
+
+Pasa el cursor sobre mí y verás un tooltip en acción
+
+
+ ```jsx Tooltip Example
+ Hover over me
+ ```
+
diff --git a/es/content/components/update.mdx b/es/content/components/update.mdx
new file mode 100644
index 000000000..2f4ca8c96
--- /dev/null
+++ b/es/content/components/update.mdx
@@ -0,0 +1,57 @@
+---
+title: Update
+description: Realizar un seguimiento de cambios y actualizaciones
+icon: rectangle-history
+---
+
+El `Update` componente se utiliza para realizar un seguimiento de 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 `Update` componentes para crear registros de cambios.
+
+
+
+ Cada `label` crea un ancla y también aparece en la tabla de contenidos a la derecha.
+
+
+## Props
+
+
+ Etiqueta en el registro de cambios, en el lado izquierdo fijo.
+
+
+
+ Descripción debajo de la etiqueta en la vista previa del Registro de cambios.
+
+
+
+ Etiquetas para el registro de cambios, se mostrarán como filtros en el panel del lado derecho
+
diff --git a/es/development.mdx b/es/development.mdx
new file mode 100644
index 000000000..ea879dba8
--- /dev/null
+++ b/es/development.mdx
@@ -0,0 +1,120 @@
+---
+title: Desarrollo Local
+description: Vista previa de cambios localmente para actualizar tu documentación
+---
+
+
+ **Prerrequisito**: Por favor instala Node.js (versión 19 o superior) antes de continuar.
+
+
+**Paso 1**: Instala el CLI de Mintlify:
+
+
+ ```bash npm
+ npm i -g mintlify
+ ```
+
+ ```bash yarn
+ yarn global add mintlify
+ ```
+
+ ```bash pnpm
+ pnpm add -g mintlify
+ ```
+
+
+**Paso 2**: Navega al directorio de documentación (donde está el archivo `docs.json` y ejecuta el siguiente comando:
+
+```bash
+mintlify dev
+```
+
+Alternativamente, si no deseas instalar el CLI globalmente, puedes usar un script de ejecución disponible:
+
+
+ ```bash npm
+ npx mintlify dev
+ ```
+
+ ```bash yarn
+ yarn dlx mintlify dev
+ ```
+
+ ```bash pnpm
+ pnpm dlx mintlify dev
+ ```
+
+
+
+ El script de ejecución "dlx" de Yarn requiere yarn versión >2. Ver [aquí](https://yarnpkg.com/cli/dlx) para más información.
+
+
+Una vista previa local de tu documentación estará disponible en `http://localhost:3000`.
+
+### Puertos Personalizados
+
+Por defecto, Mintlify usa el puerto 3000. Puedes personalizar el puerto usando la bandera `--port`. Para ejecutar Mintlify en el puerto 3333, por ejemplo, usa este comando:
+
+```bash
+mintlify dev --port 3333
+```
+
+Si intentas ejecutar en un puerto que ya está en uso, utilizará el siguiente puerto disponible:
+
+```md
+Port 3000 is already in use. Trying 3001 instead.
+```
+
+## Versiones
+
+Ten en cuenta que cada versión del CLI está asociada con una versión específica de Mintlify. Si tu sitio web local no coincide con la versión de producción, por favor actualiza el CLI:
+
+
+ ```bash npm
+ npm i -g mintlify@latest
+ ```
+
+ ```bash yarn
+ yarn global upgrade mintlify
+ ```
+
+ ```bash pnpm
+ pnpm up --global mintlify
+ ```
+
+
+## Validación de Enlaces
+
+El CLI puede ayudar con la validación de enlaces de referencia en tu documentación. Para identificar enlaces rotos, usa el siguiente comando:
+
+```bash
+mintlify broken-links
+```
+
+## Despliegue
+
+Si el despliegue es exitoso, deberías ver lo siguiente:
+
+
+
+
+
+## Formato de Código
+
+Sugerimos usar extensiones en tu IDE para reconocer y formatear MDX. Si eres usuario de VSCode, considera 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 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 de mintlify: `npm remove -g mintlify`
+ 2. Actualiza a Node v19 o superior.
+ 3. Reinstala mintlify: `npm install -g mintlify`
+
+
+
+ Solución: Ve a la raíz de tu dispositivo y elimina la carpeta \~/.mintlify. Después, ejecuta `mintlify dev` de nuevo.
+
+
diff --git a/es/guides/auth0.mdx b/es/guides/auth0.mdx
new file mode 100644
index 000000000..eed714185
--- /dev/null
+++ b/es/guides/auth0.mdx
@@ -0,0 +1,63 @@
+---
+title: Usando Auth0 con el OAuth Handshake
+description: Si Auth0 es la fuente de verdad para los datos de tus usuarios, puedes configurar
+ Mintlify como una aplicación cliente OAuth para autenticar a tus usuarios.
+---
+
+
+ **Aviso de Seguridad**: Si bien 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.
+
+
+## Descripción general
+
+Esta guía te explica cómo configurar 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 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 tipo de aplicación. Luego haz clic en **Create**.
+
+ 
+
+
+
+ Después de crear tu aplicación, serás dirigido 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 tu dominio de 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 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:
+
+ 
+
+ Completa el formulario con los siguientes valores:
+
+ * **Authorization URL**: `https://YOUR_AUTH0_DOMAIN/authorize` (reemplaza `YOUR_AUTH0_DOMAIN` con tu dominio real de Auth0 del paso 2)
+ * **Client ID**: Ingresa el Client ID de tu aplicación Auth0
+ * **Client Secret**: Ingresa el Client Secret de tu aplicación Auth0
+ * **Scopes**: Déjalo en blanco a menos que tengas scopes personalizados configurados en Auth0
+ * **Token URL**: `https://YOUR_AUTH0_DOMAIN/oauth/token` (reemplaza `YOUR_AUTH0_DOMAIN` con tu dominio real de Auth0)
+
+ Después de completar estos detalles, haz clic en **Save changes** para guardar tu configuración de OAuth.
+
+
+
+ Mintlify generará una URL de Redirección única que Auth0 necesita reconocer para que el flujo OAuth funcione correctamente.
+
+ Copia la URL de Redirección desde la configuración de Autenticación de tu Panel de Mintlify:
+ 
+
+ Regresa a la página de configuración de tu aplicación Auth0, desplázate hacia abajo hasta la sección **Application URIs** y pega la URL de Redirección en el campo **Allowed Callback URLs**:
+ 
+
+ Haz clic en **Save Changes** en la parte inferior de la página de Auth0 para aplicar esta configuración.
+
+
diff --git a/es/image-embeds.mdx b/es/image-embeds.mdx
new file mode 100644
index 000000000..4cc11ea8c
--- /dev/null
+++ b/es/image-embeds.mdx
@@ -0,0 +1,130 @@
+---
+title: Imágenes, Videos y Embebidos
+description: Agregar imágenes, videos y otros elementos HTML
+icon: image
+---
+
+
+
+
+ Mintlify admite archivos de hasta 5 MB. Para usar archivos más grandes, considera un servicio de almacenamiento como Cloudinary y embébelos en tu documentación usando la URL.
+
+
+## Imagen
+
+### Usando Markdown
+
+La [sintaxis markdown](https://www.markdownguide.org/basic-syntax/#images) te permite agregar imágenes usando el siguiente código
+
+```md
+
+```
+
+Ten en cuenta que el tamaño del archivo de imagen debe ser menor a 5MB. De lo contrario, recomendamos alojarlo en un servicio como [Cloudinary](https://cloudinary.com/) o [S3](https://aws.amazon.com/s3/). Luego puedes usar esa URL y embeber.
+
+### Usando Embebidos
+
+Para obtener más personalización con las imágenes, también puedes usar embebidos para agregar imágenes.
+
+```html
+
+```
+
+### Deshabilitar Zoom de Imagen
+
+Para deshabilitar el zoom predeterminado al hacer clic en las imágenes, agrega la propiedad noZoom a los embebidos de imagen.
+
+```html
+
+```
+
+### Enlazando Imágenes
+
+Para enlazar una imagen, por ejemplo para crear un botón en tu documentación, 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 diferentes para modo claro y oscuro, usa 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 [etiquetas HTML en Markdown](https://www.markdownguide.org/basic-syntax/#html). Esto es útil si prefieres etiquetas HTML a la sintaxis Markdown, y te permite crear documentación con flexibilidad infinita.
+
+
+Para videos de YouTube usa:
+
+```html
+
+```
+
+Para otros videos, usa:
+
+```html
+
+```
+
+Para reproducir el video automáticamente, usa:
+
+```html
+
+```
+
+
+ Ya que Mintlify necesita adherirse a la sintaxis JSX, los atributos de dos palabras deberán escribirse en camelCase: autoPlay, playsInline.
+
+
+## iFrames
+
+Carga otra página HTML dentro del documento.
+
+```html
+
+```
+
+
+ Aunque no es obligatorio, recomendamos agregar los`alt` y `title` atributos a las imágenes para mejor SEO y accesibilidad. Aprende más en[imagen
+ SEO](https://yoast.com/image-seo-alt-tag-and-title-tag-optimization/).
+
diff --git a/es/integrations/analytics/amplitude.mdx b/es/integrations/analytics/amplitude.mdx
new file mode 100644
index 000000000..ff0849a43
--- /dev/null
+++ b/es/integrations/analytics/amplitude.mdx
@@ -0,0 +1,23 @@
+---
+title: Amplitude
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..31ce10aa2
--- /dev/null
+++ b/es/integrations/analytics/clearbit.mdx
@@ -0,0 +1,23 @@
+---
+title: Clearbit
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..c22efc08d
--- /dev/null
+++ b/es/integrations/analytics/fathom.mdx
@@ -0,0 +1,25 @@
+---
+title: Fathom
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis a Fathom.
+
+Puede obtener el `siteId` desde la configuración de su 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 000000000..77a302a01
--- /dev/null
+++ b/es/integrations/analytics/google-analytics.mdx
@@ -0,0 +1,43 @@
+---
+title: Google Analytics 4
+---
+
+Necesitarás generar una nueva propiedadGA4para usar con Mintlify. Los datos recopilados irán al mismo proyecto que tus 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 Stream Web
+
+Necesitará crear un stream web para obtener el ID de Medición para poner 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 Stream Web y coloque la URL de su sitio de documentación Mintlify como la URL del stream.
+
+Su ID de Medición se parece a `G-XXXXXXX` y aparecerá bajo Detalles del Stream inmediatamente después de crear el Stream Web.
+
+### Poner ID de Medición en docs.json
+
+Agregue su ID de Medición a su `docs.json` archivo así:
+
+```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 [Depurador de Google Analytics](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 realice 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 000000000..f90f5fb70
--- /dev/null
+++ b/es/integrations/analytics/google-tag-manager.mdx
@@ -0,0 +1,25 @@
+---
+title: Google Tag Manager
+---
+
+Agregue su ID de etiqueta a `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 000000000..5f23852ab
--- /dev/null
+++ b/es/integrations/analytics/heap.mdx
@@ -0,0 +1,23 @@
+---
+title: Heap
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..2e27b0804
--- /dev/null
+++ b/es/integrations/analytics/hotjar.mdx
@@ -0,0 +1,14 @@
+---
+title: HotJar
+---
+
+Agregue lo siguiente a su`docs.json` archivo para enviar análisis 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 000000000..d97249449
--- /dev/null
+++ b/es/integrations/analytics/koala.mdx
@@ -0,0 +1,23 @@
+---
+title: Koala
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..f12bfe421
--- /dev/null
+++ b/es/integrations/analytics/logrocket.mdx
@@ -0,0 +1,13 @@
+---
+title: LogRocket
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..d60b36e7d
--- /dev/null
+++ b/es/integrations/analytics/mixpanel.mdx
@@ -0,0 +1,13 @@
+---
+title: Mixpanel
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis 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 000000000..a817779e4
--- /dev/null
+++ b/es/integrations/analytics/overview.mdx
@@ -0,0 +1,612 @@
+---
+title: Analytics Integrations
+description: Integrar con una plataforma de análisis para rastrear eventos
+---
+
+Envía automáticamente datos sobre el compromiso con tu documentación a tu proveedor de análisis de terceros.
+
+## Todas las Integraciones
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+}
+ />
+
+
+
+
+>
+}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+
+
+}
+ />
+
+
+
+
+
+
+
+
+}
+ />
+
+
+## Habilitando Analytics
+
+Configura tus claves de analytics en `docs.json`. Puedes añadir un número ilimitado de integraciones de analytics de forma gratuita.
+
+La sintaxis para `docs.json` está a continuación. Solo necesitas incluir entradas para las plataformas que deseas conectar.
+
+
+ ```json Analytics options in docs.json
+ "integrations": {
+ "amplitude": {
+ "apiKey": "required"
+ },
+ "clearbit": {
+ "publicApiKey": "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"
+ },
+ }
+ ```
+
+ ```json Google Analytics 4 Example
+ "integrations": {
+ "ga4": {
+ "measurementId": "G-XXXXXXX"
+ }
+ }
+ ```
+
+
+## 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 000000000..2f150bc6d
--- /dev/null
+++ b/es/integrations/analytics/pirsch.mdx
@@ -0,0 +1,25 @@
+---
+title: Pirsch
+---
+
+Agregue lo siguiente a su `docs.json` archivo para enviar análisis a Pirsch.
+
+Puede obtener su ID de sitio desde 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 000000000..dbf964c9b
--- /dev/null
+++ b/es/integrations/analytics/plausible.mdx
@@ -0,0 +1,28 @@
+---
+title: Plausible
+---
+
+Agregue el dominio de su sitio a `docs.json` para enviar análisis a Plausible.
+
+
+ No incluya `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 000000000..de0542f67
--- /dev/null
+++ b/es/integrations/analytics/posthog.mdx
@@ -0,0 +1,36 @@
+---
+title: PostHog
+---
+
+Agrega lo siguiente a tu `docs.json` archivo para enviar analíticas a PostHog.
+
+Solo necesitas incluir `apiHost` si estás auto-alojando PostHog. 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 las analíticas de PostHog deshabilitará las analíticas en el panel 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 poder 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 000000000..e7cebeab6
--- /dev/null
+++ b/es/integrations/analytics/segment.mdx
@@ -0,0 +1,23 @@
+---
+title: Segment
+---
+
+Agrega tu clave de escritura de Segment a tu archivo`docs.json` para enviar análisis 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 000000000..74ff5f5b7
--- /dev/null
+++ b/es/integrations/privacy/osano.mdx
@@ -0,0 +1,25 @@
+---
+title: Osano
+---
+
+Agregue lo siguiente a su archivo `docs.json` para agregar el [Osano](https://www.osano.com/) administrador de consentimiento de cookies.
+
+
+ ```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 000000000..778596567
--- /dev/null
+++ b/es/integrations/privacy/overview.mdx
@@ -0,0 +1,45 @@
+---
+title: Integraciones de Privacidad
+description: Integre con una plataforma de privacidad de datos
+---
+
+
+ } horizontal />
+
+
+## Habilitando Integraciones de Privacidad de Datos
+
+Puede agregar plataformas de privacidad de datos a sus documentos. 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 de 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 será desactivada.
+
+Si desea desactivar la telemetría para todos los usuarios, puede agregar lo siguiente a su `docs.json` archivo:
+
+```json
+ "integrations": {
+ "telemetry": {
+ "enabled": false
+ }
+ }
+```
diff --git a/es/integrations/sdks/speakeasy.mdx b/es/integrations/sdks/speakeasy.mdx
new file mode 100644
index 000000000..8a6b118be
--- /dev/null
+++ b/es/integrations/sdks/speakeasy.mdx
@@ -0,0 +1,96 @@
+---
+title: Speakeasy
+description: Automatiza los fragmentos de uso de tu SDK en el área de pruebas de API
+---
+
+Puedes integrar fragmentos de código generados por Speakeasy desde tus SDKs directamente en tu documentación de referencia de API de Mintlify. Los fragmentos de uso del SDK se muestran en el [área de pruebas interactiva](https://mintlify.com/docs/api-playground/overview) de tu documentación potenciada por Mintlify.
+
+## Cambios en el Repositorio SDK de Speakeasy
+
+En tus repositorios 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 [archivo de superposición OpenAPI](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 empaquetarán automáticamente tu especificación OpenAPI fuente y las muestras de código de Speakeasy en un único archivo de salida, `openapi.yaml`. Mintlify utilizará este archivo de salida al construir tu referencia de API.
+
+### Configuración Interactiva por 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 fuente. La especificación fuente es la especificación OpenAPI para la que se generarán las muestras de código, y a menudo es la misma especificación utilizada para potenciar 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 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 000000000..d0f62dc56
--- /dev/null
+++ b/es/integrations/sdks/stainless.mdx
@@ -0,0 +1,51 @@
+---
+title: Stainless
+description: Automatiza tus ejemplos de fragmentos de SDK en el área de pruebas de API
+---
+
+Si utilizas el soporte OpenAPI de Mintlify para tu documentación de referencia de API, agrega lo siguiente a tu configuración de Stainless:
+
+```yaml openapi.stainless.yml
+openapi:
+ code_samples: mintlify
+```
+
+Configura la [configuración de OpenAPI](/api-playground/openapi/setup#in-the-repo) en tu documentación de Mintlify. Para integrar Stainless, modifica la GitHub Action que sube tu especificación OpenAPI a Stainless para que envíe la especificación OpenAPI mejorada por Stainless a tu repositorio de documentación de la siguiente manera:
+
+```yaml
+name: Upload OpenAPI spec to Stainless and (Mintlify) docs repo
+
+on:
+ push:
+ branches: [main]
+ workflow_dispatch:
+
+jobs:
+ stainless:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Push spec and config to Stainless and outputs documented spec
+ uses: stainless-api/upload-openapi-spec-action@main
+ with:
+ input_path: 'path/to/my-company-openapi.json'
+ config_path: 'path/to/my-company.stainless.yaml'
+ output_path: 'path/to/my-company-openapi.documented.json'
+ project_name: 'my-stainless-project'
+ - name: Push documented spec to docs repo
+ uses: dmnemec/copy_file_to_another_repo_action@main
+ env:
+ API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
+ with:
+ source_file: 'config/my-company-openapi.documented.json'
+ destination_repo: '{DOCS_REPO_NAME}'
+ destination_folder: 'openapi-specs' # (optional) the folder in the destination repository to place the file in, if not the root directory
+ user_email: '{EMAIL}' # the email associated with the GH token
+ user_name: '{USERNAME}' # the username associated with the GH token
+ commit_message: 'Auto-updates from Stainless'
+```
+
+Esto asume que los siguientes secretos han sido [cargados en tus Secretos de GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions):
+
+* `secrets.STAINLESS_API_KEY`: Tu clave de API de Stainless.
+* `secrets.API_TOKEN_GITHUB`: Un [Token de Acceso Personal](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) de GitHub con permisos para hacer push a tu repositorio de documentación.
diff --git a/es/integrations/support/front.mdx b/es/integrations/support/front.mdx
new file mode 100644
index 000000000..11e2d52a2
--- /dev/null
+++ b/es/integrations/support/front.mdx
@@ -0,0 +1,19 @@
+---
+title: Front
+---
+
+Agregue lo siguiente a su `docs.json` archivo para agregar un [Front Chat](https://front.com) widget.
+
+
+ ```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 000000000..73e2f4909
--- /dev/null
+++ b/es/integrations/support/intercom.mdx
@@ -0,0 +1,23 @@
+---
+title: Intercom
+---
+
+Agregue lo siguiente a su `docs.json` archivo para agregar un [Intercom](https://www.intercom.com) widget.
+
+
+ ```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 000000000..f035b8b25
--- /dev/null
+++ b/es/integrations/support/overview.mdx
@@ -0,0 +1,43 @@
+---
+title: Support Integrations
+description: Integre con un widget de soporte
+---
+
+
+ } horizontal />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ horizontal
+ />
+
+
+## Habilitando Integraciones de Soporte
+
+Puede integrar widgets en su documentación para soporte al cliente. Agregue el`integrations` campo en su`docs.json` archivo con su respectivo ID de aplicación.
+
+```json
+ "integrations": {
+ "intercom": "APP_ID",
+ "frontchat": "CHAT_ID"
+ }
+```
+
+Si desea 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 000000000..41f2e2d15
--- /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 No Ordenada
+
+Para crear una lista no ordenada, 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ías en 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 markdown](https://www.markdownguide.org/basic-syntax/#lists-1).
+
+
+## Tablas
+
+| Propiedad | Descripción |
+| --------- | ------------------------------------ |
+| Nombre | Nombre completo del usuario |
+| Edad | Edad reportada |
+| Unido | Si el usuario se unió a la comunidad |
+
+### Creando una tabla
+
+
+ El componente Table sigue la [sintaxis 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 tuberías (`|`) para separar cada columna. Para compatibilidad, también debe agregar una tubería 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/migration.mdx b/es/migration.mdx
new file mode 100644
index 000000000..a7b1beae1
--- /dev/null
+++ b/es/migration.mdx
@@ -0,0 +1,150 @@
+---
+title: Migration
+description: Cómo migrar documentación desde su proveedor existente
+icon: arrow-up-from-bracket
+---
+
+Puede usar nuestros [paquetes públicos](https://www.npmjs.com/package/@mintlify/scraping) para convertir su documentación existente a Mintlify.
+
+Actualmente soportamos migración para:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+ />
+
+
+
+}
+ />
+
+
+¿No ve su proveedor de documentación o tiene un sistema propio? ¡Aún podemos ayudar! Por favor contáctenos en [sales@mintlify.com](mailto:sales@mintlify.com).
+
+## Comandos
+
+* `mintlify-scrape section [url]` - Extrae múltiples páginas en un sitio.
+* `mintlify-scrape page [url]` - Extrae una sola página en un sitio.
+
+Los comandos detectarán automáticamente el framework.
+
+## 🚀 Instalación
+
+Primero, instale 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]
+ ```
+
+
+Proporcione 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/navigation/divisions.mdx b/es/navigation/divisions.mdx
new file mode 100644
index 000000000..851283156
--- /dev/null
+++ b/es/navigation/divisions.mdx
@@ -0,0 +1,198 @@
+---
+title: Pestañas, Anclajes, Menús Desplegables
+---
+
+## Pestañas
+
+Las pestañas ayudan a distinguir entre diferentes temas o secciones de tu documentación.
+
+
+
+
+
+
+
+```json docs.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"
+ }
+ ]
+}
+```
+
+## Anclajes
+
+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 la configuración de pestañas. Recomendamos encarecidamente que también configures un`icon` campo también.
+Los valores de icono válidos incluyen todos los[Font Awesome](https://fontawesome.com/icons) y [Lucide](https://lucide.dev/icons) iconos.
+
+```json docs.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"
+ }
+ ]
+}
+```
+
+## Menús Desplegables
+
+
+
+
+
+
+
+Los menús desplegables aparecen en el mismo lugar que los anclajes, pero están consolidados en un solo menú desplegable.
+También recomendamos que configures un icono para cada elemento del menú desplegable (de[Font Awesome](https://fontawesome.com/icons) o [Lucide](https://lucide.dev/icons)).
+
+```json docs.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"
+ }
+ ]
+}
+```
+
+## Jerarquía Anidada
+
+Puedes usar cualquier combinación de anclajes, pestañas y menús desplegables - cualquiera puede anidarse dentro de otro de manera intercambiable.
+
+
+ ```json Top-Level 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 Top-Level 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"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ```
+
diff --git a/es/navigation/localization.mdx b/es/navigation/localization.mdx
new file mode 100644
index 000000000..d59ef85b2
--- /dev/null
+++ b/es/navigation/localization.mdx
@@ -0,0 +1,59 @@
+---
+title: Localization
+---
+
+`"languages"` en su `docs.json` se puede aprovechar para dividir su navegación en diferentes idiomas.
+
+Actualmente admitimos la localización en los siguientes idiomas:
+
+* Árabe (`ar`)
+* Chino (`cn` o `zh`, `zh-Hans` para Simplificado y `zh-Hant` para Tradicional)
+* Inglés (`en`)
+* Francés (`fr`)
+* Alemán (`de`)
+* Indonesio (`id`)
+* Italiano (`it`)
+* Japonés (`jp` o `ja`)
+* Coreano (`ko`)
+* Portugués (`pt`)
+* Portugués (Brasil) (`pt-BR`)
+* Ruso (`ru`)
+* Español (`es`)
+* Turco (`tr`)
+
+```json docs.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"]
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## Traducciones con IA \[BETA]
+
+Traduce automáticamente tus documentos de un idioma a otro con un solo clic.
+
+
+ Las traducciones con IA están en beta - contacta a [sales@mintlify.com](mailto:sales@mintlify.com) para obtener acceso.
+
+
+Las traducciones con IA te permiten elegir el idioma al que quieres traducir tus documentos. Después de activar una traducción a través del dashboard, se generará un PR con las páginas traducidas y un `docs.json` que te da la oportunidad de revisar las traducciones.
diff --git a/es/navigation/overview.mdx b/es/navigation/overview.mdx
new file mode 100644
index 000000000..4253b8d48
--- /dev/null
+++ b/es/navigation/overview.mdx
@@ -0,0 +1,26 @@
+---
+title: Overview
+description: La propiedad `navigation` controla la jerarquía de su documentación.
+---
+
+import ConfigUpgrade from "/snippets/config-upgrade.mdx";
+
+Puede contener una de siete propiedades:
+
+* `pages`
+* `groups`
+* `anchors`
+* `tabs`
+* `dropdowns`
+* `versions`
+* `languages`
+
+Estas propiedades sirven todas para la función de dividir su contenido y crear una jerarquía para que sea
+más fácil para sus usuarios navegar a través de su documentación.
+
+
+
+
+ Si desea aprender más sobre la diferencia entre `mint.json` y
+ `docs.json` consulte nuestro [blog](https://mintlify.com/blog/refactoring-mint-json-into-docs-json)
+
diff --git a/es/navigation/pages.mdx b/es/navigation/pages.mdx
new file mode 100644
index 000000000..7f481528f
--- /dev/null
+++ b/es/navigation/pages.mdx
@@ -0,0 +1,51 @@
+---
+title: Pages and Groups
+---
+
+## Páginas
+
+Si no desea ninguna jerarquía, puede simplemente definir páginas dentro de su campo `navigation`.
+
+Cada entrada del arreglo `pages` debe ser una ruta a un archivo que exista dentro de su repositorio.
+Tenga en cuenta que no necesita agregar `.mdx` a las rutas de archivo.
+
+```json
+{
+ "navigation": {
+ "pages": [
+ "overview",
+ "quickstart",
+ "advanced/components",
+ "advanced/integrations"
+ ]
+ }
+}
+```
+
+## Grupos
+
+Los grupos le permiten agrupar sus páginas. Los grupos también pueden anidarse entre sí.
+
+```json
+{
+ "navigation": {
+ "groups": [
+ {
+ "group": "Getting Started",
+ "pages": [
+ "quickstart",
+ {
+ "group": "Editing",
+ "icon": "pen-paintbrush",
+ "pages": ["development", "web-editor"]
+ }
+ ]
+ },
+ {
+ "group": "Writing Content",
+ "pages": ["writing-content/page", "writing-content/text"]
+ }
+ ]
+ }
+}
+```
diff --git a/es/navigation/versions.mdx b/es/navigation/versions.mdx
new file mode 100644
index 000000000..e45279912
--- /dev/null
+++ b/es/navigation/versions.mdx
@@ -0,0 +1,63 @@
+---
+title: Versions
+---
+
+`"versions"` en su `docs.json` se pueden aprovechar para dividir su navegación en diferentes versiones.
+
+```json docs.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"]
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+También puede agregar versionado a una sección específica de sus documentos anidando una versión.
+
+```json docs.json [expandable]
+{
+ "tabs": [
+ {
+ "tab": "Guides",
+ "pages": ["overview", "quickstart"]
+ },
+ {
+ "tab": "SDKs",
+ "versions": [
+ {
+ "version": "latest",
+ "anchors": [
+ {
+ "anchor": "Javascript",
+ "pages": ["sdk/js/create", "sdk/js/edit", "sdk/js/delete"]
+ },
+ {
+ "anchor": "Python",
+ "pages": ["sdk/py/create", "sdk/py/edit", "sdk/py/delete"]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+```
diff --git a/es/page.mdx b/es/page.mdx
new file mode 100644
index 000000000..fc98e8e06
--- /dev/null
+++ b/es/page.mdx
@@ -0,0 +1,158 @@
+---
+title: Títulos de Página y Metadatos
+description: Configuración del título y metadatos para navegación y SEO
+icon: text-size
+---
+
+## Los Fundamentos
+
+Cada página es un archivo MDX que debe comenzar con la siguiente sintaxis de metadatos con `---` al inicio y al final:
+
+
+ ```md Schema
+ ---
+ title: "title of the page"
+ ---
+ ```
+
+ ```md Example
+ ---
+ title: "Page"
+ ---
+ ```
+
+
+
+
+
+ Mintlify usará el nombre del archivo si olvidas incluir un título.
+
+
+Otros metadatos van entre las mismas `---` líneas. Por ejemplo, esta página usa estos metadatos:
+
+```md
+---
+title: "Page Titles and Metadata"
+description: "Setting the title and metadata for navigation and SEO"
+---
+```
+
+## Descripciones
+
+Puedes mostrar una descripción que aparece directamente bajo el título con el
+`description` metadato.
+
+```md
+description: "Your description goes here."
+```
+
+## Título de la Barra Lateral
+
+Puedes mostrar un título diferente en la navegación con el `sidebarTitle`
+metadato. Esto es útil si tu título es largo y quieres algo más corto en los enlaces de navegación.
+
+```md
+---
+title: "Your very long page title you want to shorten"
+sidebarTitle: "Short title"
+---
+```
+
+## Iconos de la Barra Lateral
+
+¿Quieres un icono para tu elemento de la barra lateral como los que hay en
+[componentes](/content/components/accordions)? Puedes establecer un `icon` atributo en los metadatos! Todos los iconos de [Font Awesome](https://fontawesome.com/icons) y [Lucide](https://lucide.dev/icons) están disponibles para nosotros. También puedes establecer un tipo de icono para los iconos de Font Awesome (opcional). Si no se establece, el tipo de icono será regular.
+
+```md
+---
+title: "Code Block"
+icon: "rectangle-code"
+iconType: "solid"
+---
+```
+
+## Páginas de API
+
+Las páginas de API te permiten construir campos de prueba de API interactivos. 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 los campos de prueba de API en [nuestra demo](/api-playground).
+
+
+ ```md Schema
+ api or openapi: method endpoint
+ ```
+
+ ```md API Example
+ api: "GET /users"
+ ```
+
+ ```md OpenAPI Example
+ openapi: "GET /users"
+ ```
+
+
+## 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. Esto significa que la página se mostrará con la tabla de contenidos predeterminada (si hay encabezados presentes) y otros elementos estándar, proporcionando un diseño típico sin ajustes especiales.
+
+```md
+---
+title: "Page with no ToC"
+---
+```
+
+### 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 otro contenido.
+
+```md
+---
+title: "Page with no ToC"
+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, que es ideal para crear una "página de inicio" o cualquier página donde desees un entorno limpio y sin distracciones.
+
+```md
+---
+mode: "custom"
+---
+```
+
+### Modo Centro
+
+El Modo Centro 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.
+
+```md
+---
+mode: "center"
+---
+```
+
+## Enlaces Externos
+
+Si quieres que la barra lateral abra una URL externa, puedes establecer el metadato `url` en cualquier página.
+
+```md
+---
+title: "Page that goes to external link"
+url: "https://www.npmjs.com/package/mintlify"
+---
+```
+
+## 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. Las etiquetas meta con dos puntos necesitan estar envueltas en comillas.
+
+```md
+"twitter:image": "/images/your-photo.jpg"
+```
+
+Ver [nuestra página de SEO](/settings/seo) para todas las etiquetas meta soportadas.
diff --git a/es/quickstart.mdx b/es/quickstart.mdx
new file mode 100644
index 000000000..6d9e5cabc
--- /dev/null
+++ b/es/quickstart.mdx
@@ -0,0 +1,155 @@
+---
+title: Quickstart
+description: Comienza a construir documentación moderna en menos de cinco minutos
+icon: rocket
+---
+
+
+
+
+
+
+
+## Primeros Pasos
+
+¡Bienvenido! Sigue las instrucciones a continuación para aprender cómo implementar, actualizar y
+potenciar tu documentación con Mintlify.
+
+### Creando el Repositorio
+
+Los documentos de Mintlify se generan a partir de archivos MDX y configuraciones definidas en nuestro
+[starter kit](https://github.com/mintlify/starter). Usamos GitHub para integrar
+tu documentación con tu código y hacer que el control de versiones sea sin esfuerzo. Inicia a través del [dashboard](https://dashboard.mintlify.com) o clona nuestro [starter kit](https://github.com/mintlify/starter) para comenzar.
+
+
+
+ Instala nuestra aplicación de GitHub para asegurarte de que tus actualizaciones se implementen automáticamente cuando envíes cambios. Puedes encontrar el enlace de instalación en el [dashboard](https://dashboard.mintlify.com/settings), en la página de Configuración. Tras una instalación exitosa, aparecerá una marca de verificación junto al hash del commit del repositorio.
+
+
+ 
+
+
+
+
+ Si deseas que tu documentación viva junto a tu código como una configuración de monorepo,
+ puedes: 1. Mover el contenido de tu documentación a tu monorepo. 2. Especificar la ruta a tu
+ `docs.json` en el[dashboard](https://dashboard.mintlify.com/settings/deployment/git-settings)
+
+
+
+
+
+
+
+
+
+### Actualizando el Contenido
+
+Mintlify te permite personalizar fácilmente el estilo, la estructura y el contenido de
+tu documentación.
+
+
+
+ 1. Instala [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
+ 2. Una vez que git esté instalado, clona tu repositorio de documentación usando `git clone `. Si aún no lo has configurado, ahora sería un buen momento para hacerlo con estas [llaves SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).
+ 3. Usa tu IDE favorito para abrir el repositorio.
+ 4. Instala nuestro CLI de Mintlify para previsualizar cambios con `npm i -g mintlify`.
+
+ Aprende más sobre esto en nuestra [guía de desarrollo local](/development).
+
+
+
+ Aprende más sobre cómo usar el editor web en nuestra [guía](/web-editor).
+
+
+
+ Personaliza fácilmente colores, logos y botones entre otras configuraciones en nuestro `docs.json` archivo. Comienza con estas configuraciones básicas:
+
+ ```json
+ "name": "Your Company"
+ "logo": {
+ "light": "/logo/light.svg",
+ "dark": "/logo/dark.svg",
+ "href": "https://yourcompany.com"
+ },
+ "favicon": "/favicon.svg",
+ "colors": {
+ "primary": "#2AB673",
+ "light": "#55D799",
+ "dark": "#117866",
+ },
+ ```
+
+ Una lista completa de configuraciones soportadas se puede encontrar en [configuraciones globales](/settings/global).
+
+
+
+ Agrega contenido con archivos MDX simples. Inicia tus páginas con esta plantilla:
+
+ ```md
+ ---
+ title: "Page Title"
+ sidebarTitle: "Sidebar title (optional - if different from page title)"
+ description: "Subtitle (optional)"
+ ---
+ ```
+
+ Aprende más sobre cómo agregar imágenes, tablas, listas y más usando la [sintaxis MDX](/text). También ofrecemos una [amplia gama de componentes](/content/components).
+
+
+
+ Cuando estés listo, confirma y envía tus cambios para actualizar tu sitio de documentación. Aquí hay una [guía](https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository#about-git-push) sobre cómo hacerlo. Si la aplicación de GitHub no puede implementar tus cambios exitosamente, puedes actualizar tu documentación manualmente a través de nuestro [dashboard](https://dashboard.mintlify.com).
+
+
+ 
+
+
+
+
+ Puedes configurar fácilmente tus referencias de API usando un documento OpenAPI.
+
+ 1. Agrega tu `openapi.yaml` o `openapi.json` archivo en tu repositorio de documentación o define el `openapi` campo en `docs.json` con una URL.
+
+ ```json
+ "openapi": "link-to-your-openapi-file"
+ ```
+
+ 2. Usa nuestro [scraper](/api-playground/openapi/setup#autogenerate-files-recommended) para autogenerar tus archivos de endpoints OpenAPI como:
+
+ ```bash
+ npx @mintlify/scraping@latest openapi-file
+ ```
+
+ 3. Finalmente, incluye los archivos MDX de endpoints generados en tu `docs.json` bajo `navigation`.
+
+ Para una guía completa sobre el uso de Mintlify con OpenAPI, consulta [esta guía](/api-playground/openapi/setup). [Esta guía](/api-playground/openapi/writing-openapi) explica cómo configurar tus métodos de autenticación de API. Para la definición manual de referencias de API, explora [nuestra sintaxis](/api-playground/overview).
+
+
+
+ Nuestras analíticas internas te dan información sobre vistas de página, analíticas de búsqueda, grabaciones de sesión y más. Accede a estas en tu [dashboard](https://dashboard.mintlify.com/analytics).
+
+ También soportamos integraciones con una variedad de proveedores de analíticas. Puedes encontrar la lista de proveedores [aquí](/integrations/analytics/overview).
+
+
+
+
+ Proporcionamos un servicio de migración de guante blanco como parte de nuestro plan Enterprise.
+ ¿Interesado? Puedes solicitarlo [contactándonos](mailto:sales@mintlify.com).
+
+
+### Publicación
+
+
+ Integra tu documentación en tu sitio web alojándola en un dominio personalizado. Esto está incluido en el plan gratuito.
+
+ Navega a tu [dashboard settings](https://dashboard.mintlify.com/settings) para agregar un dominio personalizado.
+
+ 
+
+
+¡Felicitaciones! Has configurado tu documentación de Mintlify y se ve increíble. ¿Necesitas soporte o quieres dar algún feedback? Puedes unirte a nuestra
+
+[comunidad](https://mintlify.com/community) o enviarnos un email a
+
+[support@mintlify.com](mailto:support@mintlify.com).
diff --git a/es/reusable-snippets.mdx b/es/reusable-snippets.mdx
new file mode 100644
index 000000000..281e94710
--- /dev/null
+++ b/es/reusable-snippets.mdx
@@ -0,0 +1,143 @@
+---
+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 (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
+
+**Pre-condición**: Debes crear tu archivo de fragmento en el`snippets` directorio para que la importación funcione.
+
+Cualquier página en el`snippets` directorio será tratada como un fragmento y no será renderizada como una página independiente. Si deseas crear una página independiente desde el fragmento, importa el fragmento en otro archivo y llámalo como un componente.
+
+### Exportación predeterminada
+
+1. Agrega contenido a tu archivo de fragmento que deseas reutilizar. Opcionalmente, puedes agregar variables que se pueden completar 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 snippet 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.
+
+
+
+```
+
+### Exportando con variables
+
+1. Opcionalmente, puedes agregar variables que pueden ser completadas a través de props cuando importas el snippet. En este ejemplo, nuestra variable es word.
+
+```typescript snippets/my-snippet.mdx
+My keyword of the day is {word}.
+```
+
+2. Importa el snippet en tu archivo de destino con la variable. La propiedad se completará 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 snippet:
+
+```typescript snippets/path/to/custom-variables.mdx
+export const myName = 'my name';
+
+export const myObject = { fruit: 'strawberries' };
+```
+
+2. Importa el snippet 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}.
+```
+
+### Componentes reutilizables
+
+1. Dentro de tu archivo snippet, crea un componente que reciba props exportando tu componente en forma de función flecha.
+
+```typescript snippets/custom-component.mdx
+export const MyComponent = ({ title }) => (
+
+
{title}
+
... snippet content ...
+
+);
+```
+
+
+ MDX no se compila dentro del cuerpo de una función flecha. Mantente en la sintaxis HTML cuando puedas o usa una exportación por defecto si necesitas usar MDX.
+
+
+2. Importa el snippet en tu archivo de destino y pasa los props
+
+```typescript destination-file.mdx
+---
+title: My title
+description: My Description
+---
+
+import { MyComponent } from '/snippets/custom-component.mdx';
+
+Lorem ipsum dolor sit amet.
+
+
+```
+
+### Contenido del lado del cliente
+
+Por defecto, Mintlify emplea renderizado del lado del servidor, generando contenido durante el tiempo de compilación. Para la carga de contenido del lado del cliente, asegúrate de verificar la
+`document` disponibilidad del objeto antes de iniciar el proceso de renderizado.
+
+```typescript snippets/client-component.mdx
+{/* `setTimeout` simulates a React.useEffect, which is called after the component is mounted. */}
+export const ClientComponent = () => {
+ if (typeof document === "undefined") {
+ return null;
+ } else {
+ setTimeout(() => {
+ const clientComponent = document.getElementById("client-component");
+ if (clientComponent) {
+ clientComponent.innerHTML = "Hello, client-side component!";
+ }
+ }, 1);
+
+ return
+ }
+}
+```
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 000000000..2064e6014
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/choosing-a-handshake.mdx
@@ -0,0 +1,86 @@
+---
+title: Choosing a Handshake
+description: Cómo decidir qué método de Handshake es el adecuado para tu documentación
+---
+
+
+ Esta es la documentación para **Authentication** métodos de Handshake. Personalization ofrece un [conjunto diferente de métodos de Handshake](/settings/authentication-personalization/personalization-setup/choosing-a-handshake).
+
+
+Antes de que tus usuarios puedan acceder al contenido personalizado, deben estar autenticados. Mintlify soporta cuatro métodos de Authentication Handshake:
+
+1. **Password**: Configura un conjunto de contraseñas globales para tu sitio de documentación.
+2. **JWT**: Usa tu propio flujo de inicio de sesión para autenticar a tus usuarios mediante un JWT en la URL.
+3. **OAuth 2.0**: Integra con tu servidor OAuth para permitir el inicio de sesión de usuarios mediante el flujo estándar de Código de Autorización.
+4. **Mintlify Dashboard**: Permite que todos los usuarios de tu panel accedan a tu documentación, sin necesidad de configuración.
+
+## Prerrequisitos
+
+
+
+ * 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 crea un JWT y redirige 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 que puede ser accedido por el token de acceso OAuth devuelto.
+
+
+
+ * Sus lectores de documentación también son sus editores de documentación.
+
+
+
+## Ventajas y Desventajas
+
+
+
+ Ventajas:
+
+ * Configuración super simple
+ * No se requiere configuración para agregar nuevos usuarios - solo compartir la contraseña
+
+ Desventajas:
+
+ * Difícil revocar el acceso a su documentación sin restablecer la contraseña
+ * Pérdida de funciones de personalización, ya que no hay forma de diferenciar usuarios con la misma contraseña
+
+
+
+ Ventajas:
+
+ * Riesgo reducido de abuso del endpoint de API
+ * Configuración CORS cero
+ * Sin restricciones en URLs de API
+
+ Desventajas:
+
+ * Debe poder conectarse a su flujo de inicio de sesión existente
+
+
+
+ Ventajas:
+
+ * Estándar de seguridad elevado
+
+ Desventajas:
+
+ * Requiere trabajo significativo si se configura el servidor OAuth por primera vez
+ * Podría ser excesivo para algunas aplicaciones
+
+
+
+ Ventajas:
+
+ * Configuración sin configuración
+
+ Desventajas:
+
+ * Requiere que todos los lectores de documentación tengan una cuenta en su panel 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 000000000..0ddd82f6f
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/jwt.mdx
@@ -0,0 +1,115 @@
+---
+title: JWT Handshake
+description: Use un flujo de inicio de sesión personalizado para autenticar usuarios
+---
+
+
+ Esta es la documentación para el**Authentication** Handshake. Los pasos para configurar el[JWT**Personalization** Handshake](/settings/authentication-personalization/personalization-setup/jwt) son ligeramente diferentes.
+
+
+Si no tiene un panel de control, o si desea mantener su panel y documentación completamente separados, puede usar su propio flujo de inicio de sesión para autenticar usuarios a través de un JWT en la URL.
+
+## Implementación
+
+
+
+ Vaya a su[configuración del panel](https://dashboard.mintlify.com/products/authentication) y genere una clave privada. Almacene esta clave en un lugar seguro donde pueda ser accedida por su backend.
+
+
+
+ Cree un flujo de inicio de sesión que haga lo siguiente:
+
+ * Autentique al usuario
+ * Cree un JWT que contenga la información del usuario autenticado en el formato[User](../sending-data) formato
+ * Firme el JWT con la clave secreta, usando el algoritmo EdDSA
+ * Cree una URL de redirección de vuelta a la`/login/jwt-callback` ruta de su documentación, incluyendo el JWT como hash
+
+
+
+ Vuelva a su[configuración del panel](https://dashboard.mintlify.com/products/authentication) y agregue la URL de inicio de sesión a su configuración de Autenticación.
+
+
+
+## Ejemplo
+
+Quiero configurar la autenticación para mi documentación alojada en`docs.foo.com`. Quiero que mis documentos estén completamente separados de mi panel de control (o no tengo un panel de control).
+
+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/login/jwt-callback#{SIGNED_JWT}`, y redirijo al usuario.
+
+Luego voy a la configuración del panel de control e ingreso`https://foo.com/docs-login` para 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 específica (por ejemplo,`/quickstart`)
+
+2. Mintlify los redirige a su URL de inicio de sesión y agrega el destino original (relativo) como un`redirect` parámetro de consulta
+
+Ejemplo:
+
+* 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`redirect` parámetro en tu URL de callback 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 000000000..c7d56bbb4
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/mintlify.mdx
@@ -0,0 +1,40 @@
+---
+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 en Mintlify podrán acceder a tus despliegues de vista previa.
+
+
+ La autenticación está disponible solo por solicitud. Por favor{" "}
+
+ contacta a ventas para 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 personas que contribuyen a mis documentos.
+
+Para configurar la autenticación con Mintlify, puedo ir a mi [configuración del panel](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 agregado como usuario en mi [configuración del panel](https://dashboard.mintlify.com/settings/organization/members).
+
+## Implementación
+
+
+
+ Ve a tu [configuración del panel 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 agregado como usuario en tu [configuración del panel 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 000000000..0e7e3295b
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/oauth.mdx
@@ -0,0 +1,51 @@
+---
+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 de Código de Autorización
+---
+
+
+ Esta es la documentación para el **Autenticación** Handshake. Los pasos para configurar el [OAuth **Personalización** Handshake](/settings/authentication-personalization/personalization-setup/oauth) son ligeramente diferentes.
+
+
+Si tienes un servidor OAuth existente, puedes integrarlo con Mintlify para una experiencia de inicio de sesión perfecta.
+
+## Implementación
+
+
+
+ Ve a tu [configuración de autenticación de Mintlify](https://dashboard.mintlify.com/products/authentication), selecciona la opción OAuth y completa los campos requeridos:
+
+ * **URL de Autorización**: 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 scopes que serán solicitados.
+ * **URL del Token**: La URL base para la solicitud de intercambio de tokens.
+ * **URL de la API de información** (opcional): El endpoint que será consultado para obtener la información del usuario. Si se omite, el flujo OAuth solo se usará para verificar la identidad, y la información del usuario estará vacía.
+
+
+
+ Copia la URL de redirección listada en la [Mintlify authentication settings](https://dashboard.mintlify.com/products/authentication) y agrégala como URL de redirección autorizada para tu servidor OAuth.
+
+
+
+ Si deseas aprovechar las funciones de personalización de autenticación, necesitarás crear un endpoint para obtener información sobre tus usuarios. 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).
+
+ Regresa a tu [Mintlify authentication settings](https://dashboard.mintlify.com/products/authentication) y agrega la URL de la API de información a tu configuración OAuth.
+
+
+
+## Ejemplo
+
+Tengo un servidor OAuth existente que soporta 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 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 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 endpoint de la API de información:
+
+* **URL de Autorización**: `https://auth.foo.com/authorization`
+* **ID del Cliente**: `ydybo4SD8PR73vzWWd6S0ObH`
+* **Alcances**: `['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 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 000000000..e4cc5c2dc
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-setup/password.mdx
@@ -0,0 +1,45 @@
+---
+title: Password Handshake
+description: Use un conjunto de contraseñas compartidas para autenticar usuarios
+---
+
+
+ Esta es la documentación para el Password **Authentication** Handshake. El
+ Password Handshake no está disponible para Personalization.
+
+
+Si no tiene requisitos estrictos de seguridad, o no desea administrar una
+base de datos de lectores de documentación, puede usar un conjunto de contraseñas
+compartidas para proteger sus documentos.
+
+
+ La autenticación está disponible solo por solicitud. Por favor{" "}
+
+ contacte a nuestro equipo de ventas para acceso.
+ Después de que hayamos habilitado el acceso, puede seguir las instrucciones de implementación.
+
+
+## Implementación
+
+
+
+ Vaya a su [dashboard
+ settings](https://dashboard.mintlify.com/products/authentication) y cree
+ una contraseña.
+
+
+
+ Comparta de forma segura la contraseña con sus lectores de 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 espíen - compartir contraseñas es lo suficientemente
+seguro para mi equipo.
+
+Para configurar la autenticación con Mintlify, voy a mi panel de control 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 000000000..60c502ea8
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication-vs-personalization.mdx
@@ -0,0 +1,33 @@
+---
+title: Auth vs Personalization
+description: Cómo determinar qué producto es mejor para usted
+---
+
+Mintlify ofrece tanto Authentication como Personalization. En su mayoría, Authentication es
+solo Personalization + privacidad. Sin embargo, hay algunas diferencias clave que son importantes
+tener en cuenta, de más importante a menos importante:
+
+### Garantías de Seguridad
+
+Authentication es una solución de documentación privada completamente desarrollada. Cada aspecto de sus documentos,
+incluyendo el contenido de las páginas, imágenes, resultados de búsqueda y funciones de chat con IA, son completamente
+inaccesibles para usuarios no autenticados.
+
+Personalization, por otro lado, no ofrece garantías de seguridad para el contenido de su documentación.
+Todo el contenido de las páginas, imágenes, resultados de búsqueda y funciones de chat con IA pueden ser
+accedidos por el público. Incluso si está utilizando la función de páginas ocultas de Personalization,
+un atacante motivado aún podría acceder al contenido de una página oculta.
+
+### Métodos de Autenticación
+
+Debido a la diferencia en los requisitos de seguridad para Autenticación y Personalización, hay diferentes métodos de autenticación disponibles para cada uno. Ambos métodos ofrecen autenticación JWT y OAuth, aunque los pasos de configuración son ligeramente diferentes.
+
+La Autenticación ofrece dos métodos adicionales de autenticación:
+
+* **Password Handshake**, 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 adicional de autenticación:
+
+* **Shared Session Handshake**, 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 000000000..912de64b5
--- /dev/null
+++ b/es/settings/authentication-personalization/authentication.mdx
@@ -0,0 +1,25 @@
+---
+title: Authentication
+description: Garantice la privacidad de su documentación autenticando usuarios
+---
+
+Authentication ofrece privacidad completa para todo su
+contenido de 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 chat de IA
+
+Puede autenticar usuarios a través de métodos de autenticación como:
+
+* [Contraseña](./authentication-setup/password)
+* [JWT](./authentication-setup/jwt)
+* [OAuth](./authentication-setup/oauth)
+* [Mintlify dashboard](./authentication-setup/mintlify)
+
+Authentication es similar a nuestra [Personalization](./personalization) oferta, pero con privacidad garantizada. Además
+de asegurar su contenido de documentación, todas las funciones que están disponibles a través de
+Personalization también están disponibles a través de Authentication.
+
+Consulte nuestra documentación para más información sobre [elegir entre Authentication y Personalization](./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 000000000..e4bd7f153
--- /dev/null
+++ b/es/settings/authentication-personalization/partial-authentication.mdx
@@ -0,0 +1,24 @@
+---
+title: Partial Authentication
+description: Autentique usuarios para ver solo ciertas páginas
+---
+
+Partial Authentication le permite autenticar usuarios para ver solo ciertas páginas.
+
+Puede autenticar usuarios a través de métodos de autenticación como:
+
+* [Contraseña](./authentication-setup/password)
+* [JWT](./authentication-setup/jwt)
+* [OAuth](./authentication-setup/oauth)
+* [Mintlify dashboard](./authentication-setup/mintlify)
+
+Partial Authentication comparte todas las mismas características que [Authentication](./authentication), pero con la capacidad de permitir que usuarios no autenticados vean ciertas páginas.
+
+Por defecto, todas las páginas están protegidas. Puede especificar qué páginas deberían ser accesibles públicamente agregando 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 000000000..cdb5ea0ac
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/choosing-a-handshake.mdx
@@ -0,0 +1,86 @@
+---
+title: Choosing a Handshake
+description: Cómo decidir qué método de Handshake es el adecuado para tu documentación
+---
+
+
+ Esta es la documentación para **Personalization** métodos de Handshake. La autenticación ofrece un [conjunto diferente de métodos de Handshake](/settings/authentication-personalization/authentication-setup/choosing-a-handshake).
+
+
+Antes de que tus usuarios puedan acceder al contenido personalizado, deben estar autenticados. Mintlify soporta tres métodos de Handshake de Personalización:
+
+1. **Shared Session**: Utiliza el mismo token de sesión usado por tu panel para autenticar usuarios.
+2. **JWT**: Usa tu propio flujo de inicio de sesión para enviar información del usuario a tu documentación vía JWT en la URL.
+3. **OAuth 2.0**: Integra con tu servidor OAuth para habilitar el inicio de sesión de usuarios mediante el flujo PKCE.
+
+## Prerrequisitos
+
+
+
+ * Tienes un panel u otro portal de usuario alojado en tu dominio.
+ * Las credenciales de sesión de tus usuarios se almacenan como cookies.
+ * Puedes crear un nuevo endpoint de API en el mismo origen o un subdominio de tu panel.
+ * Si tu panel está en `foo.com`, la **URL de API** debe comenzar con `foo.com` o `*.foo.com`
+ * Si tu panel está en `dash.foo.com`, la **URL de API** debe comenzar con `dash.foo.com` o `*.dash.foo.com`
+ * Tu documentación está alojada en el mismo dominio que tu panel.
+ * Si tu panel está en `foo.com`, tu **documentación** debe estar alojado en `foo.com` o `*.foo.com`
+ * Si tu panel está en `*.foo.com`, tus **docs** deben estar alojados en `foo.com` o `*.foo.com`
+
+
+
+ * Tienes un flujo de inicio de sesión existente.
+ * Puedes agregar un paso final en este flujo de inicio de sesión que crea un JWT y redirige a los docs.
+
+
+
+ * Tienes un servidor OAuth existente que soporta el flujo PKCE.
+ * Puedes crear un nuevo endpoint de API que puede ser accedido por el token de acceso OAuth devuelto.
+
+
+
+## Pros y Contras
+
+
+
+ Pros:
+
+ * Los usuarios que han iniciado sesión en tu panel inician sesión automáticamente 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
+
+ Contras:
+
+ * Tus docs harán una solicitud a tu backend, lo cual puede ser indeseable
+ * Debes tener un panel que use autenticación por sesión
+ * Generalmente se requiere configuración CORS
+
+
+
+ Pros:
+
+ * Riesgo reducido de abuso del endpoint de API
+ * Cero configuración CORS
+ * Sin restricciones en URLs de API
+
+ Contras:
+
+ * Debe ser posible conectarse a tu flujo de inicio de sesión existente
+ * Las sesiones del panel y la autenticación de docs están completamente desacopladas, por lo que los usuarios necesitarán iniciar sesión en tu panel y 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 frecuentemente, debes requerir que tus usuarios inicien sesión frecuentemente o arriesgarte a tener datos desactualizados en los docs
+ * Si los datos de tus usuarios raramente cambian, esto no debería ser un problema
+
+
+
+ Pros:
+
+ * Estándar de seguridad elevado
+ * Sin restricciones en URLs de API
+
+ Contras:
+
+ * Requiere trabajo significativo si se configura un servidor OAuth por primera vez
+ * Las sesiones del panel y la autenticación de docs están completamente desacopladas, por lo que los usuarios necesitarán iniciar sesión en tu panel y 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 000000000..292817947
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/jwt.mdx
@@ -0,0 +1,78 @@
+---
+title: JWT Handshake
+description: Utiliza un flujo de inicio de sesión personalizado para autenticar usuarios
+---
+
+
+ Esta es la documentación para el JWT **Personalization** Handshake. Los pasos para configurar el [JWT **Authentication** Handshake](/settings/authentication-personalization/authentication-setup/jwt) son ligeramente diferentes.
+
+
+Si no tienes un panel de control, o si deseas mantener tu panel 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) formato
+ * Firmar el JWT con la clave secreta, usando el algoritmo ES256
+ * Crear una URL de redirección de vuelta a tu documentación, incluyendo el JWT como 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 Personalization.
+
+
+
+## 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).
+
+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#{SIGNED_JWT}`, y redirijo al usuario.
+
+Luego voy a los ajustes del panel y ingreso `https://foo.com/docs-login` en el campo de 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}`.
+
+Ejemplo:
+
+* Original: `https://docs.foo.com/quickstart#step-one`
+* Redirección: `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 000000000..58a82db21
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/oauth.mdx
@@ -0,0 +1,48 @@
+---
+title: OAuth 2.0 Handshake
+description: Integra con tu servidor OAuth para habilitar el inicio de sesión de usuario mediante el flujo PKCE
+---
+
+
+ Esta es la documentación para el **Personalization** Handshake. Los pasos para configurar el [OAuth **Authentication** Handshake](/settings/authentication-personalization/authentication-setup/oauth) son ligeramente diferentes.
+
+
+Si tienes un servidor OAuth existente que admite 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 [panel de configuración](https://dashboard.mintlify.com/products/authentication), selecciona la opción OAuth y completa los campos requeridos:
+
+ * **URL de Autorización**: 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 scopes que serán solicitados.
+ * **URL del Token**: La URL base para la solicitud de intercambio de token.
+ * **URL de API de Información**: El endpoint que se utilizará para obtener la información del usuario.
+
+
+
+ Copia la URL de Redirección listada en la [configuración del dashboard](https://dashboard.mintlify.com/products/authentication) y agrégala como 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 scope `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 dashboard, navego a la configuración de Personalización, selecciono OAuth e ingreso los valores relevantes para el flujo OAuth y el endpoint de API de Información:
+
+* **URL de Autorización**: `https://auth.foo.com/authorization`
+* **Client ID**: `ydybo4SD8PR73vzWWd6S0ObH`
+* **Scopes**: `['docs-user-info']`
+* **URL del Token**: `https://auth.foo.com/exchange`
+* **URL de API de Información**: `https://api.foo.com/docs/user-info`
+
+Finalmente, copio la URL de Redirección mostrada en la configuración del dashboard y la agrego como 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 000000000..62314e29c
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization-setup/shared-session.mdx
@@ -0,0 +1,57 @@
+---
+title: Shared Session Handshake
+description: Comparte sin problemas las sesiones de usuario entre tu panel de control y tu documentación
+---
+
+
+ Esta es la documentación para el Shared Session**Personalization** Handshake. El Shared Session Handshake no está disponible para Authentication.
+
+
+Este método utiliza la información de autenticación de sesión ya almacenada en el navegador del usuario para crear una experiencia de documentación fluida.
+
+## Implementación
+
+
+
+ Crea un endpoint de API que utilice la autenticación de sesión para identificar usuarios y responda con una carga JSON siguiendo el formato[User](../sending-data).
+
+ Si el dominio de la API no*coincide exactamente* con el dominio de la documentación:
+
+ * Agrega el dominio de la documentación 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 estar habilitadas en el*único endpoint* responsable de devolver la información del usuario. No recomendamos habilitar estas opciones en todos los endpoints del panel.
+
+
+
+
+ Ve a tu[configuración del panel](https://dashboard.mintlify.com/products/authentication) y agrega la URL de la API y tu URL de inicio de sesión a tu configuración de Personalization.
+
+
+
+## Ejemplos
+
+### Panel en subdominio, documentación en subdominio
+
+Tengo un panel en`dash.foo.com`, que utiliza autenticación de sesión basada en cookies. Las rutas de API de mi panel están alojadas en`dash.foo.com/api`. Quiero configurar la autenticación para mi documentación alojada en`docs.foo.com`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del panel`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 agrego`https://docs.foo.com` a la`Access-Control-Allow-Origin` lista permitida**solo para esta ruta**, y aseguro que mi`Access-Control-Allow-Credentials` configuración esté establecida en`true` **solo para esta ruta**.
+
+Luego voy a la configuración del panel e ingreso`https://dash.foo.com/api/docs/user-info` en el campo URL de la API.
+
+### Panel en subdominio, documentación en raíz
+
+Tengo un panel en`dash.foo.com`, que utiliza autenticación de sesión basada en cookies. Las rutas de API de mi panel están alojadas en`dash.foo.com/api`. Quiero configurar la autenticación para mis documentos alojados en `foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del panel `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 agrego `https://foo.com` a la `Access-Control-Allow-Origin` lista permitida **solo para esta ruta**, y aseguro que mi `Access-Control-Allow-Credentials` configuración esté establecida en `true` **solo para esta ruta**.
+
+Luego voy a la configuración del panel y ingreso `https://dash.foo.com/api/docs/user-info` en el campo URL de la API.
+
+### Panel en la raíz, documentos en la raíz
+
+Tengo un panel en `foo.com/dashboard`, que utiliza autenticación de sesión basada en cookies. Mis rutas de API del panel están alojadas en `foo.com/api`. Quiero configurar la autenticación para mis documentos alojados en `foo.com/docs`.
+
+Para configurar la autenticación con Mintlify, creo otro endpoint del panel `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 la configuración del panel y ingreso `https://foo.com/api/docs/user-info` en 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 000000000..866872e90
--- /dev/null
+++ b/es/settings/authentication-personalization/personalization.mdx
@@ -0,0 +1,77 @@
+---
+title: Personalization
+description: Una lista de funciones desbloqueadas con Personalization
+---
+
+Personalization se refiere a un conjunto de funciones que te permiten personalizar tu experiencia de documentación basada en cierta información sobre el usuario. Hay tres características principales de Personalization:
+
+* **Personalizar contenido MDX** con la información del usuario, como su nombre, plan o título.
+
+* **Precompletar claves API** en el API Playground para un uso simplificado.
+
+* **Mostrar páginas selectivamente** en la navegación basado en los grupos del usuario.
+
+## Cómo usar
+
+### Personalizando contenido MDX
+
+Al escribir contenido, puedes usar la variable `user` para acceder a la información que has enviado a tu documentación. Aquí hay un ejemplo simple:
+
+¡Hola, {user.name ?? 'reader'}!
+
+```jsx
+Hello, {user.name ?? 'reader'}!
+```
+
+Esta función se vuelve aún más poderosa cuando se combina con datos personalizados sobre el usuario. Aquí hay un ejemplo del mundo real que nos permite dar instrucciones específicas sobre cómo acceder a la función de Personalization basado en el plan existente del cliente:
+
+Personalization es una función 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 se rompa para usuarios no conectados, siempre usa encadenamiento opcional en tus campos `user`
+ p.ej. `{user.org?.plan}`
+
+
+### Precompletando claves API
+
+Si devuelves entradas del API Playground en la información del usuario, estas se precompletarán automáticamente en el API Playground. Asegúrate de que el nombre del campo en la información del usuario coincida exactamente con el nombre en el API Playground.
+
+### Mostrando/Ocultando Páginas
+
+Por defecto, cada página es visible para todos los usuarios. Si deseas restringir qué páginas son visibles para tus usuarios, puedes agregar un campo `groups` en los metadatos de tu página. Al determinar 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 de Usuario y página:
+
+| | `groups` no en Usuario | `groups: []` en Usuario | `groups: ['admin']` en Usuario |
+| :------------------------------ | :--------------------: | :---------------------: | :----------------------------: |
+| `groups` no en metadatos | ✅ | ✅ | ✅ |
+| `groups: []` en metadata | ❌ | ❌ | ❌ |
+| `groups: ['admin']` en metadata | ❌ | ❌ | ✅ |
+
+
+ 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 000000000..4b0b652c3
--- /dev/null
+++ b/es/settings/authentication-personalization/sending-data.mdx
@@ -0,0 +1,39 @@
+---
+title: Enviando Datos
+description: La estructura de los datos de usuario que puedes usar para personalizar tus documentos
+---
+
+Dependiendo de tu método de Handshake, tu API responderá con un objeto JSON sin procesar o un JWT firmado. La estructura 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 epoch**. Si el usuario carga la página y el tiempo actual es posterior a este valor, los datos almacenados serán eliminados.
+ Para Handshakes JWT: Esto es *no* lo mismo que el `exp` claim del JWT. El `exp` claim determina cuándo un JWT ya no debe considerarse válido, y debe establecerse lo más bajo posible. En este caso, puede establecerse en 10 segundos o menos. El `expiresAt` campo 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 `groups` campo de los metadatos de una página, esa página se mostrará.
+
+
+
+ Un conjunto de valores que se pueden acceder desde el contenido MDX usando la `user` variable. 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 precompletarán en el área de pruebas 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 `apiPlaygroundInputs` campo, y este valor se precompletará en cualquier página de API con este `subdomain` valor.
+
+ Los`header`, `query`, y `cookie` campos solo se precompletarán 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 precompletará, navega a tus documentos existentes 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 000000000..cd4e0ecfc
--- /dev/null
+++ b/es/settings/broken-links.mdx
@@ -0,0 +1,43 @@
+---
+title: Redirects and Broken Links
+description: Herramientas para ayudar a prevenir enlaces inválidos
+icon: link-simple
+---
+
+Cuando cambias la ruta de un archivo en tu carpeta de documentación, también cambiará la ruta de la URL a esa página. Esto puede suceder al reestructurar tu documentación o cambiar el título de la barra lateral.
+
+## Enlaces Rotos
+
+Detecta enlaces rotos con nuestra CLI. Simplemente [instala la CLI](/development) y ejecuta el comando:
+
+```bash
+mintlify broken-links
+```
+
+La CLI identificará cualquier enlace relativo en tu documentación que no exista.
+
+## Redirecciones
+
+Configure redirecciones 301 agregando el`redirects` campo en su`docs.json` archivo.
+
+```json
+"redirects": [
+ {
+ "source": "/source/path",
+ "destination": "/destination/path"
+ }
+]
+```
+
+Esto redireccionará permanentemente`/source/path` a`/destination/path` para que no pierda el SEO previo de la página original.
+
+Para coincidir con una ruta comodín, use`*` 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 000000000..ce8ff55a7
--- /dev/null
+++ b/es/settings/ci.mdx
@@ -0,0 +1,111 @@
+---
+title: CI Checks
+description: Agregar verificaciones de enlaces rotos, linting y gramática al proceso de actualización
+icon: circle-check
+---
+
+
+ Esta función solo está disponible para clientes en planes pagados y para GitHub. El soporte para otras plataformas estará disponible próximamente.
+
+
+Utiliza las verificaciones de CI para revisar errores en tus documentos y recibir advertencias antes de implementar.
+
+## Instalación
+
+Para comenzar, necesitarás haber seguido los pasos en la página de[GitHub](/settings/github).
+
+Para las aplicaciones de GitHub, puedes elegir dar permisos solo a un repositorio único. Te recomendamos encarecidamente que lo hagas ya que solo necesitamos acceso al repositorio donde están alojados tus documentos.
+
+## Configuración
+
+Puedes configurar las verificaciones de CI habilitadas para una implementación en el panel de control de Mintlify navegando a la pestaña 'Add-Ons'. Allí puedes habilitar o deshabilitar las verificaciones que deseas ejecutar.
+
+Al habilitar las verificaciones, puedes elegir ejecutarlas a nivel`Warning`o`Blocking`.
+
+
+ Una`Blocking`verificación de nivel proporcionará un estado de fallo si no se aprueba o se sugieren cambios.
+
+ Una`Warning`verificación de nivel nunca proporcionará un estado de fallo, incluso si hay un error o sugerencias.
+
+
+## ¿Cuándo Se Ejecutan?
+
+Las verificaciones de CI están configuradas para ejecutarse en commits a tu rama de implementación configurada, o en pull requests contra esa rama.
+
+## Verificaciones de CI Disponibles
+
+### Enlaces Rotos
+
+De manera similar a cómo funciona el[verificador de enlaces CLI](/settings/broken-links#broken-links)en tu máquina local, verificaremos automáticamente tus documentos en busca de enlaces rotos. Para ver los resultados de esta verificación, puedes visitar la página de resultados de verificació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 verificación de CI y muestra los resultados como un estado de verificación.
+
+#### Configuración
+
+Si tienes un archivo`.vale.ini`en la raíz del directorio de contenido para tu implementación, usaremos automáticamente ese archivo de configuración. También usaremos automáticamente cualquier archivo de configuración en tu`stylesPath`especificado.
+
+¿No tienes una configuración de Vale o no estás seguro por dónde empezar? No te preocupes, Mintlify tiene una configuración predeterminada que se usará automáticamente si no se proporciona una.
+
+
+ Ten en cuenta que por razones de seguridad, no podemos admitir ningún`stylesPath`, o `stylesPath` que incluyen `..` valores. Por favor, use 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 los paquetes no incluidos en su repositorio, puede especificar cualquier paquete del [Vale package registry](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 [Vale package registry](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 archivo `.vale.ini`:
+
+```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 el `CommentDelimiters = {/*, */}` [ajuste](https://vale.sh/docs/keys/commentdelimiters) en su configuración, Vale interpretará automáticamente estos comentarios durante el análisis.
+Esto significa que puede usar fácilmente las funciones incorporadas de Vale, como saltar líneas o secciones.
+
+```mdx
+{/* vale off */}
+
+This text will be ignored by Vale
+
+{/* vale on */}
+```
+
+Si elige no usar `CommentDelimiters`, pero aún decide 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 000000000..f0b6863c9
--- /dev/null
+++ b/es/settings/custom-domain.mdx
@@ -0,0 +1,45 @@
+---
+title: Dominio Personalizado
+description: Aloja tu documentación en el dominio personalizado de tu sitio web
+icon: globe
+---
+
+Para configurar tu documentación en un dominio personalizado, necesitarás establecer tu dominio personalizado deseado en tu configuración de Mintlify y configurar tus ajustes DNS en tu proveedor de dominio.
+
+
+ ¿Buscas configurar un subdirectorio personalizado como mintlify.com/docs? Encuentra las instrucciones[aquí](/advanced/subpath/cloudflare).
+
+
+## Ajustes del Panel
+
+1. Dirígete al[panel](https://dashboard.mintlify.com)
+2. Haz clic en "Ajustes".
+3. Haz clic en "Dominio Personalizado".
+4. Ingresa tu dominio personalizado deseado. Por ejemplo,`docs.mintlify.com`.
+
+
+
+
+
+
+
+## Verificación con Vercel
+
+Si Vercel resulta ser tu proveedor de dominio, tendrás que agregar un registro de verificación`TXT`. Esta información se mostrará en tu panel después de enviar tu dominio personalizado, y también se te enviará por correo electrónico.
+
+## Configurando tu DNS
+
+1. Procede a los ajustes DNS de tu dominio en el sitio web de tu proveedor de dominio.
+2. Crea una nueva entrada DNS, ingresando los siguientes valores:
+
+```
+CNAME | docs | cname.vercel-dns.com.
+```
+
+
+
+
+
+Si estás usando Cloudflare como tu proveedor DNS, necesitarás tener habilitada la opción de seguridad "full strict" para la configuración https.
+
+Por favor[contacta a soporte](mailto:sales@mintlify.com)si no ves 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 000000000..0899aa312
--- /dev/null
+++ b/es/settings/custom-scripts.mdx
@@ -0,0 +1,62 @@
+---
+title: CSS y JS Personalizados
+description: Personaliza completamente tu documentación con CSS y JS personalizados
+icon: code
+---
+
+Agrega CSS y JS personalizados a tu documentación para personalizar completamente el aspecto y la funcionalidad.
+
+## CSS Personalizado
+
+Agrega cualquier número de archivos CSS a tu repositorio y los nombres de clase definidos se aplicarán y estarán disponibles en todos tus archivos MDX.
+
+### Agregando style.css
+
+Por ejemplo, puedes agregar el siguiente`style.css`archivo 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 ayudarte a etiquetar elementos importantes de la UI. Algunos, pero no todos, se enumeran a continuación:
+
+`#topbar-cta-button` `#navbar` `#sidebar` `#content-area` `#table-of-contents`
+
+
+ Usa inspeccionar elemento para encontrar referencias a los elementos que deseas personalizar.
+
+
+
+ Las referencias y el estilo de los elementos comunes están sujetos a cambios a medida que la plataforma evoluciona. Por favor, usa los estilos personalizados con precaución.
+
+
+## JS Personalizado
+
+El JS personalizado te permite agregar código ejecutable personalizado globalmente. Es equivalente a agregar una`