> ## Documentation Index
> Fetch the complete documentation index at: https://docs.listenlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Responses

> This endpoint lists all responses for a given study.

<Note>
  Deprecated starting **August 1, 2026**. Use
  [`GET /api/public/v1/responses/{linkId}`](/api-v2/list-responses) instead.
</Note>

### Path Parameters

<ParamField path="link_id" type="string">
  The link ID of the study. You can find this in the study URL or via the List Studies endpoint.
  For example, in `https://listenlabs.ai/s/abc123` the link ID is `abc123`.
</ParamField>

### Query Parameters

<ParamField query="page" type="integer" default="0">
  The page number for pagination.
</ParamField>

<ParamField query="per_page" type="integer" default="1000">
  Number of responses to return per page.
</ParamField>

<ParamField query="updated_since" type="string">
  ISO 8601 date string to filter responses updated after this date (e.g., `2023-08-18T11:51:54.649916Z`).
</ParamField>

<ParamField query="include_in_progress" type="boolean" default="true">
  Whether to include responses whose analysis is still in progress.
</ParamField>

### Response

Returns a list of responses for the given study.
Each response is an object with the following fields:

<ResponseField name="id" type="uuid">
  Unique identifier for the response.
</ResponseField>

<ResponseField name="response_number" type="number">
  The ordered number of the response.
</ResponseField>

<ResponseField name="created_at" type="string">
  UTC timestamp of when the response was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  UTC timestamp of when the response was last updated (uses the analysis completion time when available).
</ResponseField>

<ResponseField name="progress" type="string">
  The completion progress of the response (e.g. `"complete"`, `"in_progress"`).
</ResponseField>

<ResponseField name="response_duration_seconds" type="number">
  The total duration of the response in seconds.
</ResponseField>

<ResponseField name="answers" type="object">
  Answers to all questions of the study.

  <Expandable title="Example Answers">
    <ResponseField name="Summary" type="string">
      A summary of the entire conversation. Available for all studies.
    </ResponseField>

    <ResponseField name="Question 1" type="string">
      Everything the user said in response to question 1.
    </ResponseField>

    <ResponseField name="Question 2" type="string">
      Everything the user said in response to question 2.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="answers_array" type="Answer[]">
  Answers to all questions of the study as an array.

  <Expandable title="Answer">
    <ResponseField name="answer_id" type="string">
      The answer ID. Matches the `answer_id` on transcript rows from the single response endpoint, enabling cross-referencing.
    </ResponseField>

    <ResponseField name="discussion_guide_question_id" type="string">
      The discussion guide question ID. Matches the `id` field from the Get Study Questions endpoint, enabling you to join answers with their question definitions.
    </ResponseField>

    <ResponseField name="concept_id" type="string | null">
      The concept ID. Null if not concept-specific.
    </ResponseField>

    <ResponseField name="question_id" type="string" deprecated>
      Deprecated. Use `answer_id` instead.
    </ResponseField>

    <ResponseField name="question" type="string">
      The question text, prefixed with its number when available (e.g. `"Q1: What is your age?"`).
    </ResponseField>

    <ResponseField name="answer" type="string">
      The answer to the question.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="attributes" type="object">
  URL parameters that were passed to the study.

  <Expandable title="Example Attributes">
    <ResponseField name="id" type="string">
      An id that is passed to the study, e.g. `https://listenlabs.ai/s/abc123?id=123`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="short_transcript" type="string | null">
  A transcript of the entire conversation where the assistant messages are
  shortened to a couple of words. Can be `null` if the transcript has not been
  generated yet.
</ResponseField>

<ResponseField name="short_assistant_messages" type="string[]">
  Condensed assistant turns used to build compact transcript context.
</ResponseField>

<ResponseField name="bullet_summary" type="string[]">
  Concise bullet-point summary of the response.
</ResponseField>

<ResponseField name="quality_score" type="number">
  Numeric response quality score, typically on a 1-5 scale.
</ResponseField>

<ResponseField name="tags" type="string[]">
  Extracted keyword labels for the response.
</ResponseField>

<ResponseField name="tagline" type="string">
  Short one-line synthesis for the response.
</ResponseField>

<ResponseField name="summary" type="string" required={false}>
  A natural-language summary of the response. May be omitted from the payload
  when a summary has not yet been generated for the response.
</ResponseField>

<RequestExample>
  ```bash Example Request theme={null}
  curl 'https://listenlabs.ai/api/public/responses/study123?page=0&per_page=100&updated_since=2023-08-18T00:00:00Z' \
  -H 'x-api-key: <api_key>'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  [
    {
      "id": "12345678-0000-0000-0000-000000000000",
      "response_number": 1,
      "created_at": "2023-08-18T11:51:54.649916+00:00",
      "updated_at": "2023-08-18T12:05:30.123456+00:00",
      "progress": "complete",
      "response_duration_seconds": 245,
      "answers": {
        "Summary": "John had a positive experience and found the product intuitive.",
        "Q1: What is your name?": "My name is John.",
        "Q2: How was your experience?": "It was great, very intuitive."
      },
      "answers_array": [
        {
          "answer_id": "f1e2d3c4-0000-0000-0000-000000000001",
          "discussion_guide_question_id": "a1b2c3d4-0000-0000-0000-000000000001",
          "concept_id": null,
          "question": "Q1: What is your name?",
          "answer": "My name is John.",
          "question_id": "f1e2d3c4-0000-0000-0000-000000000001"
        },
        {
          "answer_id": "f1e2d3c4-0000-0000-0000-000000000002",
          "discussion_guide_question_id": "a1b2c3d4-0000-0000-0000-000000000002",
          "concept_id": "b2c3d4e5-0000-0000-0000-000000000001",
          "question": "Q2: How was your experience?",
          "answer": "It was great, very intuitive.",
          "question_id": "f1e2d3c4-0000-0000-0000-000000000002"
        }
      ],
      "attributes": { "id": "123" },
      "short_transcript": "• Welcome → Start\n• Ask for name → John\n• Thank you, bye → ",
      "short_assistant_messages": [
        "Welcome and intro",
        "Asked for name",
        "Asked for experience"
      ],
      "bullet_summary": [
        "Participant reported a positive overall experience.",
        "Product was described as intuitive."
      ],
      "quality_score": 5,
      "tags": ["onboarding", "ux", "intuitive"],
      "tagline": "Positive experience with intuitive UX",
      "summary": "John had a positive experience and found the product intuitive."
    },
    {
      "id": "23456789-0000-0000-0000-000000000000",
      "response_number": 2,
      "created_at": "2023-08-19T11:51:54.649916+00:00",
      "updated_at": "2023-08-19T12:10:15.789012+00:00",
      "progress": "complete",
      "response_duration_seconds": 312,
      "answers": {
        "Summary": "Alice had a mostly positive experience but suggested onboarding improvements.",
        "Q1: What is your name?": "I'm Alice.",
        "Q2: How was your experience?": "Overall positive, but the onboarding could be smoother."
      },
      "answers_array": [
        {
          "answer_id": "f1e2d3c4-0000-0000-0000-000000000001",
          "discussion_guide_question_id": "a1b2c3d4-0000-0000-0000-000000000001",
          "concept_id": null,
          "question": "Q1: What is your name?",
          "answer": "I'm Alice.",
          "question_id": "f1e2d3c4-0000-0000-0000-000000000001"
        },
        {
          "answer_id": "f1e2d3c4-0000-0000-0000-000000000002",
          "discussion_guide_question_id": "a1b2c3d4-0000-0000-0000-000000000002",
          "concept_id": null,
          "question": "Q2: How was your experience?",
          "answer": "Overall positive, but the onboarding could be smoother.",
          "question_id": "f1e2d3c4-0000-0000-0000-000000000002"
        }
      ],
      "attributes": { "id": "567" },
      "short_transcript": "• Welcome → Start\n• Ask for name → Alice\n• Thank you, bye → ",
      "short_assistant_messages": [
        "Welcome and intro",
        "Asked for name",
        "Asked for experience"
      ],
      "bullet_summary": [
        "Participant had a mostly positive experience.",
        "Onboarding flow was identified as an improvement area."
      ],
      "quality_score": 4,
      "tags": ["onboarding", "feedback", "improvements"],
      "tagline": "Mostly positive experience, onboarding needs work",
      "summary": "Alice had a mostly positive experience but suggested onboarding improvements."
    }
  ]
  ```
</ResponseExample>
