---
title: "Summarize survey responses"
url: https://docs.gleap.ai/en/reference/rest-api/summarize-survey-responses
method: GET
path: "/engagement/surveys/{surveyId}/responses/summarize"
api: "API Reference"
tag: "Engagement Survey"
operationId: "SummarizeSurveyResponses"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Summarize survey responses

`GET https://api.gleap.io/v3/engagement/surveys/{surveyId}/responses/summarize`

AI summary of a survey's responses. Returns `status` `ok` with `summary` (plain text) and `data` (headline, overview, sentiment, findings with verbatim quotes that carry the response `ticketId`, themes, actions), `not-enough-data` below 3 responses, `rate-limited` within 60 seconds of the last attempt, or `failed` shortly after a failed attempt. A stored summary is returned without calling the model; `refresh=true` regenerates it (at most once per minute). `outdated` is true when responses arrived after it was generated. Uses up to the 999 newest responses within a 30,000-token budget. Consumes AI credits; 402 when the organisation is out of AI usage, 409 when generation fails and nothing is stored.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `surveyId` (string, required)

## Query parameters

- `refresh` (boolean)

## Headers

- `project` (string, required)

## Example request

```bash
curl --request GET \
  --url 'https://api.gleap.io/v3/engagement/surveys/{surveyId}/responses/summarize' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>'
```

## Responses

### 200 (`application/json`)

Ok
