# Crear contexto de implementación (/es/api/search-index/context)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 1829 · updated: 2026-09-23 -->
Related: [API REST de Mintlify Index](/es/api/search-index/introduction.md), [Buscar conocimientos técnicos](/es/api/search-index/search.md), [Obtener contenido de resultados](/es/api/search-index/contents.md)



`POST /v1/context`

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.

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "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."
            }
          }
        },
        "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": {
            "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."
              }
            }
          },
          "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": {
      "description": "El cuerpo de la solicitud no es válido.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error."
              }
            }
          },
          "example": {
            "error": "Cuerpo de solicitud no válido"
          }
        }
      }
    },
    "401": {
      "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": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error."
              }
            }
          },
          "example": {
            "error": "No autorizado"
          }
        }
      }
    },
    "403": {
      "description": "La IP de la solicitud no está permitida por la clave de API.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error."
              }
            }
          },
          "example": {
            "error": "La dirección IP no está permitida para esta clave de API"
          }
        }
      }
    },
    "429": {
      "description": "La organización superó un límite de uso.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error."
              }
            }
          },
          "example": {
            "error": "Límite de uso superado. Vuelve a intentarlo más tarde"
          }
        }
      }
    },
    "500": {
      "description": "Index no pudo completar la solicitud.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error."
              }
            }
          }
        }
      }
    }
  }
}
```
