# Obtener contenido de resultados (/es/api/search-index/contents)

<!-- agent-signals: reading_time_min: 5 · est_tokens: 3318 · updated: 2026-09-23 -->
Related: [API REST de Mintlify Index](/es/api/search-index/introduction.md), [Crear contexto de implementación](/es/api/search-index/context.md), [Buscar conocimientos técnicos](/es/api/search-index/search.md), [Obtener comentarios](/es/api/analytics/feedback.md)



`POST /v1/contents`

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.

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "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`."
            }
          }
        },
        "example": {
          "ids": [
            "nextjs:/docs/app/getting-started/caching-and-revalidating"
          ],
          "query": "revalidar datos almacenados en caché",
          "maxCharacters": 12000
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "La recuperación de contenido se completó. Comprueba cada estado para determinar si el elemento se procesó correctamente.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "requestId",
              "results",
              "statuses"
            ],
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Identificador único de la solicitud."
              },
              "results": {
                "type": "array",
                "items": {
                  "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."
                    }
                  }
                },
                "description": "Resultados recuperados correctamente."
              },
              "statuses": {
                "type": "array",
                "items": {
                  "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."
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "description": "Estado de recuperación de cada elemento solicitado."
              }
            }
          },
          "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"
              }
            ]
          }
        }
      }
    },
    "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": "Una solicitud puede hacer referencia como máximo a 20 elementos entre urls e ids"
          }
        }
      }
    },
    "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."
              }
            }
          }
        }
      }
    }
  }
}
```
