Files
mintlify__docs/es/index-openapi.json
mintlify[bot] 0ea1a427cc docs: translate Mintlify Index updates (#6892)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-08-06 06:57:31 +00:00

716 lines
23 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "API de Mintlify Index",
"description": "Busca y recupera documentación técnica y contexto web para aplicaciones y agentes.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://leaves.mintlify.com/api/universal-search"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/v1/context": {
"post": {
"operationId": "buildIndexContext",
"summary": "Crear contexto de implementación",
"description": "Busca en Mintlify Index y devuelve contenido con fuentes citadas reunido dentro de un presupuesto de tokens. Usa este endpoint cuando una aplicación o agente necesite contexto listo para usar en una sola solicitud.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContextRequest"
},
"example": {
"query": "¿Cómo debo configurar el almacenamiento en caché en Next.js 16?",
"product": "Next.js",
"format": "txt",
"tokenBudget": 3000
}
}
}
},
"responses": {
"200": {
"description": "El contexto se creó correctamente.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContextResponse"
},
"example": {
"requestId": "7f2ab8d1-3bea-4a29-bc51-c05a8d3a3e3c",
"query": "¿Cómo debo configurar el almacenamiento en caché en Next.js 16?",
"response": "### Almacenamiento en caché y revalidación\n\nFuente: https://nextjs.org/docs/app/getting-started/caching-and-revalidating\n\nUsa las API de almacenamiento en caché actuales descritas en esta guía.\n\n--------------------------------",
"resultsCount": 3,
"outputTokens": 1842
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/v1/search": {
"post": {
"operationId": "searchIndex",
"summary": "Buscar conocimientos técnicos",
"description": "Devuelve resultados clasificados de documentación mantenida por sus editores o de la web. Usa los ID de resultados de Mintlify o cualquier URL de resultado con el endpoint de contenido cuando necesites más contenido.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchRequest"
},
"example": {
"query": "Almacenamiento en caché y revalidación en Next.js 16",
"numResults": 5,
"text": {
"maxCharacters": 4000
},
"includeDomains": [
"nextjs.org"
]
}
}
}
},
"responses": {
"200": {
"description": "La búsqueda se completó correctamente.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchResponse"
},
"example": {
"requestId": "3d8ed0aa-c21c-4a18-b995-207aa6315ea8",
"results": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating",
"title": "Almacenamiento en caché y revalidación",
"text": "El almacenamiento en caché es una técnica para guardar el resultado de la obtención de datos y otros cálculos.",
"truncated": false,
"totalCharacters": 92,
"score": 0.91,
"source": "mintlify",
"siteName": "nextjs",
"breadcrumbs": [
"Enrutador de aplicaciones",
"Primeros pasos"
],
"publishedDate": null
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/v1/contents": {
"post": {
"operationId": "getIndexContents",
"summary": "Obtener contenido de resultados",
"description": "Recupera contenido para los ID de resultados de Mintlify o las URL de resultados devueltos por el endpoint de búsqueda. Una solicitud puede incluir hasta 20 elementos entre ambos campos.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentsRequest"
},
"example": {
"ids": [
"nextjs:/docs/app/getting-started/caching-and-revalidating"
],
"query": "revalidar datos almacenados en caché",
"maxCharacters": 12000
}
}
}
},
"responses": {
"400": {
"description": "El cuerpo de la solicitud no es válido.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Una solicitud puede hacer referencia como máximo a 20 elementos entre urls e ids"
}
}
}
},
"200": {
"description": "La recuperación de contenido se completó. Comprueba cada estado para determinar si el elemento se procesó correctamente.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentsResponse"
},
"example": {
"requestId": "6bf694e4-76cb-4d31-a222-c94b2d9b198a",
"results": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating",
"title": "Almacenamiento en caché y revalidación",
"text": "# Almacenamiento en caché y revalidación\n\nUsa las API de revalidación para actualizar los datos almacenados en caché.",
"truncated": false,
"totalCharacters": 78,
"score": 0,
"source": "mintlify",
"siteName": "nextjs",
"breadcrumbs": [
"Enrutador de aplicaciones",
"Primeros pasos"
],
"publishedDate": null
}
],
"statuses": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"status": "success"
}
]
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Clave de API de Mintlify Index",
"description": "Clave de API de Mintlify Index con el prefijo `mint_us_`."
}
},
"responses": {
"BadRequest": {
"description": "El cuerpo de la solicitud no es válido.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Cuerpo de solicitud no válido"
}
}
}
},
"Unauthorized": {
"description": "Falta la clave de API, no es válida o la organización no tiene acceso a la API REST de Index.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "No autorizado"
}
}
}
},
"Forbidden": {
"description": "La IP de la solicitud no está permitida por la clave de API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "La dirección IP no está permitida para esta clave de API"
}
}
}
},
"RateLimited": {
"description": "La organización superó un límite de uso.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Límite de uso superado. Vuelve a intentarlo más tarde"
}
}
}
},
"InternalError": {
"description": "Index no pudo completar la solicitud.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
},
"schemas": {
"ContextRequest": {
"type": "object",
"additionalProperties": false,
"required": [
"query",
"format"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Pregunta de implementación que se investigará."
},
"product": {
"type": "string",
"minLength": 1,
"description": "Nombre del producto o empresa que se usará como indicio adicional de recuperación."
},
"format": {
"type": "string",
"enum": [
"txt",
"json"
],
"description": "Formato de la cadena `response`. `txt` devuelve secciones Markdown. `json` devuelve un objeto JSON serializado que contiene elementos de resultados."
},
"includeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Dominios que se incluirán en la recuperación."
},
"excludeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Dominios que se excluirán de la recuperación."
},
"tokenBudget": {
"type": "integer",
"minimum": 1,
"maximum": 6000,
"default": 3000,
"description": "Número máximo de tokens de salida."
}
}
},
"ContextResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"query",
"response",
"resultsCount",
"outputTokens"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identificador único de la solicitud."
},
"query": {
"type": "string",
"description": "Consulta original de la solicitud."
},
"response": {
"type": "string",
"description": "Contenido de fuentes reunido. El valor es Markdown para solicitudes `txt` y JSON serializado para solicitudes `json`. La cadena puede estar vacía cuando ningún contenido cabe en el presupuesto de tokens."
},
"resultsCount": {
"type": "integer",
"minimum": 0,
"description": "Número de fragmentos de fuentes incluidos en la respuesta."
},
"outputTokens": {
"type": "integer",
"minimum": 0,
"description": "Número de tokens de la respuesta reunida."
}
}
},
"SearchRequest": {
"type": "object",
"additionalProperties": false,
"required": [
"query",
"numResults"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Consulta de búsqueda."
},
"numResults": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Número máximo de resultados que se devolverán."
},
"text": {
"default": false,
"description": "Controla el contenido de los resultados. Establécelo en `true` para incluir contenido coincidente, en `false` para omitirlo o proporciona `maxCharacters` para incluir contenido truncado. Si se omite, el valor predeterminado es `false`.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"maxCharacters"
],
"properties": {
"maxCharacters": {
"type": "integer",
"minimum": 1,
"description": "Número máximo de caracteres de contenido que se incluirán por resultado."
}
}
}
]
},
"includeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Dominios que se incluirán en los resultados de búsqueda."
},
"excludeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Dominios que se excluirán de los resultados de búsqueda."
}
}
},
"SearchResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"results"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identificador único de la solicitud."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchResult"
},
"description": "Resultados de búsqueda clasificados."
}
}
},
"SearchResult": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"url",
"title",
"text",
"score",
"source",
"siteName",
"breadcrumbs",
"publishedDate"
],
"properties": {
"id": {
"type": "string",
"description": "Identificador del resultado. Pasa los ID de resultados de Mintlify en el campo `ids` de la solicitud de contenido. Para resultados web, pasa la URL del resultado en `urls`."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL canónica de la fuente."
},
"title": {
"type": "string",
"description": "Título de la fuente."
},
"text": {
"type": "string",
"description": "Contenido coincidente cuando se solicita. De lo contrario, una cadena vacía."
},
"truncated": {
"type": "boolean",
"description": "Indica si el contenido devuelto es más corto que el contenido disponible."
},
"totalCharacters": {
"type": "integer",
"minimum": 0,
"description": "Número de caracteres disponibles antes del truncamiento. Está presente cuando está disponible."
},
"score": {
"type": "number",
"description": "Puntuación de relevancia relativa. Las respuestas de contenido usan `0` porque recuperan elementos seleccionados en lugar de clasificar resultados."
},
"source": {
"type": "string",
"enum": [
"mintlify",
"web"
],
"description": "Fuente de recuperación."
},
"siteName": {
"type": "string",
"description": "Sitio de documentación o hostname web."
},
"breadcrumbs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Jerarquía de documentación del resultado."
},
"publishedDate": {
"type": "string",
"nullable": true,
"description": "Fecha de publicación cuando la fuente proporciona una; de lo contrario, `null`. Los resultados de `search` la normalizan a una marca de tiempo ISO 8601 completa. Los resultados de `contents` recuperados mediante `urls` transmiten la cadena de fecha original de la fuente sin normalizarla, que puede ser una marca de tiempo completa o una cadena que solo contenga la fecha."
}
}
},
"ContentsRequest": {
"type": "object",
"additionalProperties": false,
"description": "Proporciona al menos un ID de resultado de Mintlify o una URL de resultado. Puedes combinar ambos campos, con un máximo total de 20 elementos.",
"anyOf": [
{
"required": [
"urls"
]
},
{
"required": [
"ids"
]
}
],
"properties": {
"urls": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"format": "uri"
},
"description": "URL de resultados que se recuperarán. Usa este campo para resultados web."
},
"ids": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1
},
"description": "ID de resultados de Mintlify que se recuperarán."
},
"maxCharacters": {
"type": "integer",
"minimum": 1,
"description": "Número máximo de caracteres de contenido que se devolverán por resultado."
},
"query": {
"type": "string",
"minLength": 1,
"description": "Consulta que se usará para seleccionar las secciones más relevantes cuando el contenido supere `maxCharacters`."
}
}
},
"ContentsResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"results",
"statuses"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identificador único de la solicitud."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchResult"
},
"description": "Resultados recuperados correctamente."
},
"statuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContentStatus"
},
"description": "Estado de recuperación de cada elemento solicitado."
}
}
},
"ContentStatus": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "ID o URL solicitados."
},
"status": {
"type": "string",
"enum": [
"success"
],
"description": "Estado de recuperación."
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"error"
],
"properties": {
"id": {
"type": "string",
"description": "ID o URL solicitados."
},
"status": {
"type": "string",
"enum": [
"error"
],
"description": "Estado de recuperación."
},
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"tag",
"httpStatusCode"
],
"properties": {
"tag": {
"type": "string",
"description": "Categoría de error legible por máquinas."
},
"httpStatusCode": {
"type": "integer",
"nullable": true,
"description": "Código de estado HTTP del upstream cuando está disponible."
}
}
}
}
}
]
},
"Error": {
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"type": "string",
"description": "Mensaje de error."
}
}
}
}
}
}