# Obtener comentarios (/es/api/analytics/feedback)

<!-- agent-signals: reading_time_min: 6 · est_tokens: 3984 · updated: 2026-07-30 -->
Related: [Obtener conversaciones del assistant](/es/api/analytics/assistant-conversations.md), [Obtener estadísticas de llamadas del assistant](/es/api/analytics/assistant-caller-stats.md), [Obtener contenido de la página](/es/api/assistant/get-page-content.md)

<div id="usage">
  ## Uso [#uso]
</div>

Usa este endpoint para exportar los comentarios de los usuarios recopilados desde tu documentación. Los comentarios incluyen comentarios contextuales de las calificaciones de las páginas, comentarios sobre fragmentos de código y comentarios de agentes.

Pagina los resultados usando el parámetro `cursor` devuelto en la respuesta. Continúa obteniendo resultados mientras `hasMore` sea `true`.

<div id="filtering">
  ## Filtrado [#filtrado]
</div>

Filtra los comentarios por:

* **Rango de fechas**: Utiliza `dateFrom` y `dateTo` para limitar los resultados a un período de tiempo específico
* **Fuente**: Filtra por tipos de feedback `code_snippet`, `contextual` o `agent`
* **Estado**: Filtra por valores de estado como `pending`, `in_progress`, `resolved` o `dismissed`

<div id="response-types">
  ## Tipos de respuesta [#tipos-de-respuesta]
</div>

La respuesta contiene diferentes tipos de comentarios según la fuente:

* **Comentarios contextuales**: Incluyen el valor booleano `helpful` y un correo electrónico opcional en `contact`
* **Comentarios sobre fragmentos de código**: Incluyen los campos `code`, `filename` y `lang`
* **Comentarios de agentes**: Incluyen un `comment` con el texto del comentario del agente y el `path` de la página a la que se refiere

## Límites de uso [#límites-de-uso]

Este endpoint permite 100 solicitudes por organización por hora. Todos los endpoints de analytics comparten este límite.

`GET /v1/analytics/{projectId}/feedback`

Devuelve comentarios de usuarios con paginación y filtrado opcional

Autentícate con una clave de API de administrador.

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "schema": {
        "type": "string",
        "description": "Tu ID de proyecto. Puedes copiarlo desde la página [API keys](https://dashboard.mintlify.com/settings/organization/api-keys) en tu dashboard."
      },
      "required": true,
      "name": "projectId",
      "in": "path"
    },
    {
      "schema": {
        "type": "string",
        "description": "Fecha en formato ISO 8601 o AAAA-MM-DD",
        "example": "2024-01-01"
      },
      "required": false,
      "name": "dateFrom",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "description": "Fecha en formato ISO 8601 o AAAA-MM-DD. `dateTo` es un límite superior exclusivo. Los resultados incluyen fechas anteriores, pero no la fecha especificada.",
        "example": "2024-01-01"
      },
      "required": false,
      "name": "dateTo",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "enum": [
          "code_snippet",
          "contextual",
          "agent",
          "thumbs_only"
        ],
        "description": "Filtrar por el origen de los comentarios"
      },
      "required": false,
      "name": "source",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "description": "Lista de estados separados por comas por los que filtrar"
      },
      "required": false,
      "name": "status",
      "in": "query"
    },
    {
      "schema": {
        "type": "number",
        "minimum": 1,
        "maximum": 100,
        "default": 50,
        "description": "Número máximo de resultados por página"
      },
      "required": false,
      "name": "limit",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "description": "Cursor de paginación"
      },
      "required": false,
      "name": "cursor",
      "in": "query"
    }
  ],
  "responses": {
    "200": {
      "description": "Datos de comentarios paginados",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "feedback": {
                "type": "array",
                "description": "Lista de entradas de comentarios.",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Identificador único del comentario."
                        },
                        "path": {
                          "type": "string",
                          "description": "La ruta o URL del documento de origen."
                        },
                        "comment": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Texto del comentario del usuario."
                        },
                        "createdAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Fecha y hora en la que se envió el comentario."
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "code_snippet",
                            "contextual",
                            "agent",
                            "thumbs_only"
                          ],
                          "description": "Origen del comentario. `code_snippet` indica un comentario sobre un bloque de código, `contextual` indica un comentario a nivel de página, `agent` indica un comentario enviado por un agente de IA de terceros, `thumbs_only` es un voto de pulgar arriba/abajo."
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "pending",
                            "in_progress",
                            "resolved",
                            "dismissed"
                          ],
                          "description": "Estado de revisión actual del comentario."
                        },
                        "helpful": {
                          "type": "boolean",
                          "description": "Indica si el usuario considera útil el contenido."
                        },
                        "contact": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Dirección de correo electrónico proporcionada por el usuario para el seguimiento."
                        }
                      },
                      "required": [
                        "id",
                        "path",
                        "comment",
                        "createdAt",
                        "source",
                        "status",
                        "helpful",
                        "contact"
                      ],
                      "description": "Se devuelve cuando el origen es `contextual`. Incluye si el usuario encontró útil la página y un correo electrónico de contacto opcional."
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Identificador único del comentario."
                        },
                        "path": {
                          "type": "string",
                          "description": "La ruta o URL del documento de origen."
                        },
                        "comment": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Texto del comentario del usuario."
                        },
                        "createdAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Fecha y hora en la que se envió el comentario."
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "code_snippet",
                            "contextual",
                            "agent",
                            "thumbs_only"
                          ],
                          "description": "Origen del comentario. `code_snippet` indica un comentario sobre un bloque de código, `contextual` indica un comentario a nivel de página, `agent` indica un comentario enviado por un agente de IA de terceros, `thumbs_only` es un voto de pulgar arriba/abajo."
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "pending",
                            "in_progress",
                            "resolved",
                            "dismissed"
                          ],
                          "description": "Estado actual de revisión del comentario."
                        },
                        "code": {
                          "type": "string",
                          "description": "Fragmento de código al que hace referencia el comentario."
                        },
                        "filename": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Nombre de archivo asociado al fragmento de código."
                        },
                        "lang": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Lenguaje de programación del fragmento de código."
                        }
                      },
                      "required": [
                        "id",
                        "path",
                        "comment",
                        "createdAt",
                        "source",
                        "status",
                        "code",
                        "filename",
                        "lang"
                      ],
                      "description": "Se devuelve cuando el origen es `code_snippet`. Incluye el código, nombre de archivo y lenguaje del fragmento al que se refiere el comentario."
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Identificador único del comentario."
                        },
                        "path": {
                          "type": "string",
                          "description": "La ruta o URL del documento de origen."
                        },
                        "comment": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Texto del comentario del usuario."
                        },
                        "createdAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Marca de tiempo del envío del comentario."
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "code_snippet",
                            "contextual",
                            "agent",
                            "thumbs_only"
                          ],
                          "description": "Origen del comentario. `code_snippet` indica un comentario sobre un bloque de código, `contextual` indica un comentario a nivel de página, `agent` indica un comentario enviado por un agente de IA de terceros, `thumbs_only` es un voto de pulgar arriba/abajo."
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "pending",
                            "in_progress",
                            "resolved",
                            "dismissed"
                          ],
                          "description": "Estado actual de revisión del comentario."
                        }
                      },
                      "required": [
                        "id",
                        "path",
                        "comment",
                        "createdAt",
                        "source",
                        "status"
                      ],
                      "description": "Se devuelve cuando el origen es `agent` o `thumbs_only`. Solo contiene los campos base de comentarios."
                    }
                  ]
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Cursor para recuperar la página siguiente de resultados. Nulo si no hay más resultados."
              },
              "hasMore": {
                "type": "boolean",
                "description": "Indica si hay más resultados después de esta página."
              }
            },
            "required": [
              "feedback",
              "nextCursor",
              "hasMore"
            ]
          }
        }
      }
    },
    "400": {
      "description": "Parámetros de búsqueda no válidos",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error que describe lo que salió mal."
              },
              "details": {
                "type": "array",
                "description": "Detalles adicionales del error.",
                "items": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Descripción de un error específico de validación o procesamiento."
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "required": [
              "error"
            ]
          }
        }
      }
    },
    "500": {
      "description": "Error del servidor",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string",
                "description": "Mensaje de error que describe lo que salió mal."
              },
              "details": {
                "type": "array",
                "description": "Detalles adicionales del error.",
                "items": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Descripción de un error específico de validación o procesamiento."
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "required": [
              "error"
            ]
          }
        }
      }
    }
  }
}
```
